クラスmyClass
とString myString
. どうすればいいですか:
myClass [value of myString] = new myClass;
Java では動的変数を使用できません。それでも、 a を使用しMap<String, Object>
て をString myString
キーとして使用し、新しい値をクラスの新しいインスタンスとして設定できます。
Map<String, Object> map = new HashMap<String, Object>();
map.put(myString, new MyClass());
マップにインスタンスのみが含まれていることが確実な場合はMyClass
、 を使用できますMap<String, MyClass>
。
Map<String, MyClass> map = new HashMap<String, MyClass>();
文字列変数の値を変数名として使用することはできません。Java はそれを許可しません。
ただし、 を使用するとMap
、文字列を (キーとして) 値に関連付けることができます。
Map<String, MyClass> map = new HashMap<String, MyClass>();
map.put(myString, new MyClass());
それはまさにあなたが探しているものではありませんが、Java では、あなたが得ようとしているのと同じくらい近いものです。
ジェネリックを使用して、型パラメーターを持つ基本クラスを作成するのはどうですか
public MyGenClass<K,V>{
private Map<K,V> map = new HashMap<K,v>();
public Map<K,V> getMap(){
return map;
}
public void setMap(Map<K,V> iMap){
map=iMap;
}
}
このクラスを使用すると、同様のメソッドを使用しながら、さまざまな種類のマップを簡単に取得できます。
楽しい :)
Object
マップを使用して、によってインデックス付けされたを保存しますString
public static void main(String[] args) {
final String myString = "something";
final Map<String, Object> map = new HashMap<String, Object>();
map.put(myString, new Object());
}