如何使用变量名创建一个新的(对象?)?

时间:2013-03-27 22:49:28

标签: java class

我们说我有一个班级myClass和一个String myString。我该怎么做:

myClass [value of myString] = new myClass;

4 个答案:

答案 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;
 }

}

使用此类,您可以轻松获得不同类型的地图,同时使用类似的方法。

享受:)