繁体   English   中英

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

[英]How to make a new (object?) of a class with a name of a variable?

假设我有一个类myClass和一个String myString 我该怎么做:

myClass [value of myString] = new myClass;

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>();

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

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

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

它并不是您要找的东西,但是在Java中,这与您将要获得的东西差不多。

使用地图存储由String索引的Object

public static void main(String[] args) {
    final String myString = "something";
    final Map<String, Object> map = new HashMap<String, Object>();
    map.put(myString, new Object());
}

如何使用泛型并使用类型参数创建基类

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

}

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

请享用 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM