0

假设我有一个班级myClass和一个String myString. 我该怎么做:

myClass [value of myString] = new myClass;
4

4 回答 4

2

Java 中不能有动态变量。不过,您可以使用 aMap<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>();
于 2013-03-27T22:52:13.610 回答
1

您不能将字符串变量的值用作变量名。Java 不允许这样做。

但是,使用 a Map,您可以将字符串(作为键)关联到值:

Map<String, MyClass> map = new HashMap<String, MyClass>();
map.put(myString, new MyClass());

这并不完全是您正在寻找的东西,但在 Java 中,这与您将获得的一样接近。

于 2013-03-27T22:52:15.420 回答
0

使用地图存储您Object的 s 索引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());
}
于 2013-03-27T22:52:47.057 回答
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;
 }

}

使用这个类,你可以很容易地获得不同类型的地图,同时拥有相似的方法。

请享用 :)

于 2013-03-27T23:00:28.323 回答