Java標準ライブラリにはHashMap
、プリミティブ型と共通型のgetter / setterメソッドに似ていますが、便利なものがありgetString()
ますか? Bundle
Androidのようなもの。
3 に答える
@Pangea が言うように、Java SE クラス ライブラリにはそのようなクラスはなく、主流の拡張ライブラリのいずれにも存在しないことがわかっています。
Preferences
API は似ているように見えますが、API には設定階層と設定永続化メカニズムという「余分な荷物」があります。実際に設定メカニズムを実装したくない場合、これはおそらく間違ったアプローチです。
最善の選択肢は、HashMap<K, V>
orのカスタム サブタイプを作成してからHashMap<String, V>
、便利なメソッドを追加することです。しかし、あなたがここでやっていることは悪い設計である可能性があると私は思います...Javaで。動的型付けの脆弱性 (たとえば、存在しない「属性」にアクセスしようとすること) を利用する可能性がありますが、そのメリットはありません。
ありません。自分で書くことができます。しかし、ここでの真の価値は何なのかわかりません。
オートボクシングと組み合わせたジェネリックは、おそらく仕事をします:
マップを eg として宣言するとMap<Integer,Integer>
、その put は Integer 引数を期待し、必要に応じて int 引数を Integer にボックス化します。同様に、その get は Integer 引数を取り、ボックス化された int にすることができます。実際には、int に自動的にボックス化解除できる整数を返します。