使用变量的值而不是其名称用于新变量声明

时间:2011-01-12 12:06:36

标签: java string variables declaration

假设我在java中有一个变量

String test=new String();  

现在我想声明一个新变量,其名称等于变量'test'的值。

3 个答案:

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

阿米特