我们说我有一个班级myClass
和一个String myString
。我该怎么做:
myClass [value of myString] = new myClass;
答案 0 :(得分:2)
您不能在Java中拥有动态变量。不过,您仍然可以使用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>();
答案 1 :(得分:1)
您不能将字符串变量的值用作变量名称。 Java不允许这样做。
但是,使用Map
,您可以将字符串(作为键)与值相关联:
Map<String, MyClass> map = new HashMap<String, MyClass>();
map.put(myString, new MyClass());
这并不是你想要的,但在Java中,这就像你将要获得的那样接近。
答案 2 :(得分:0)
使用地图存储由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());
}
答案 3 :(得分:0)
如何使用泛型并使用类型参数创建基类
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;
}
}
使用此类,您可以轻松获得不同类型的地图,同时使用类似的方法。
享受:)