我想知道在Java中是否有任何方法可以为新变量赋予一个名称,即另一个变量的值。下面的代码是我正在尝试做的非工作示例。
int a = 0;
while(true){
String (a) = "newValue";
a = a + 1;
}
或
String b = "newVariableName";
int (b) = 1;
感谢您给予的任何帮助。
答案 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:)