繁体   English   中英

Java变量值作为新变量名

[英]Java variable value as new variable name

我想知道在Java中是否有任何方法可以给新变量命名,即另一个变量的值。 下面的代码是我要执行的操作的无效示例。

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

要么

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

感谢您提供的任何帮助。

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

Object[] a = new Object[30]; 

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

然后你可以使用

a[some number].someFunction();

如果考虑一下,编译器将如何在程序实际运行时间之外知道某个真实变量的值? 但是,您不太可能需要实际做您想做的事情。

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

你做不到 使用字典或地图来存储值。

不,在Java中无法做到这一点。 您最能做的是在运行时创建代码,并使用动态名称创建的字段加载新类。

您可能需要考虑一些更简单的东西,例如HashMap实例。

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

我认为反射不会有所帮助,因为无法创建Field的新实例。 所以像

Map<String,Field> 

不会工作。 改用javascript :)

暂无
暂无

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

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