Java变量值作为新变量名

时间:2012-02-05 19:52:31

标签: java variables naming-conventions

我想知道在Java中是否有任何方法可以为新变量赋予一个名称,即另一个变量的值。下面的代码是我正在尝试做的非工作示例。

int a = 0;
while(true){
    String (a) = "newValue";
    a = a + 1;
}

String b = "newVariableName";
int (b) = 1;

感谢您给予的任何帮助。

6 个答案:

答案 0 :(得分:3)

不,这是不可能的。可以创建一个新对象并将其添加到数组或某种列表中。然后你可以通过下标引用新对象。 所以一个粗略的例子可能是:

Object[] a = new Object[30]; 

for(int i = 0; i < 30; i++)
{
a[i] = new Object();
}

然后你可以使用

a[some number].someFunction();

如果你考虑一下,编译器怎样才能知道某个真正变量的值是什么,超出实际的程序运行时间?但是你不太可能真正做你想做的事。

答案 1 :(得分:1)

您正在尝试制作数组或列表或字典。

答案 2 :(得分:0)

你不能这样做。使用词典或地图来存储值。

答案 3 :(得分:0)

不,没有办法在Java中做这样的事情。您最接近的方法是在运行时创建代码并使用动态名称加载一个新类。

您可能想要考虑像HashMap实例一样简单的东西。

答案 4 :(得分:0)

您无法在Java中创建动态变量名称。我建议将这些变量放在一个字符串作为键的Map中。密钥可以是您想要的任何字符串。

答案 5 :(得分:0)

我不认为反射会有所帮助,因为没有办法如何创建Field的新实例。像

这样的东西
Map<String,Field> 

不会工作。请改用javascript:)