假设我在java中有一个变量
String test=new String();
现在我想声明一个新变量,其名称等于变量'test'的值。
答案 0 :(得分:4)
你不能在Java中这样做,而是使用java.util.Map。
例如:
Map<String, Object> map = new HashMap<String, Object>();
map.put("key1", "key2");
map.put((String) map.get("key1"), "whatever");
答案 1 :(得分:2)
这是不可能的,因为名称是修复编译时间的!
答案 2 :(得分:2)
据我所知,Java不允许在反射中添加变量
但是,您可以使用Map<String,Object>
来实现它。
String test = new String();
Map<String,Object> map = new HashMap<String, Object>();
Object myNewObject = new Object();
map.put(test,myNewObject);
现在,您通过以下方式寻找新对象:
map.get(test);
阿米特