0

可能重复:
动态变量名称 Java

如果我有一个

int i =5;

如何创建一个新变量,该变量的名称中包含前一个整数的值?

例子:

String string**i**;

so that, in the ent, my String variable will be named 

string**5**
4

2 回答 2

2

你没有。你使用一个数组:

String[] strings = new string[10];
strings[5] = "foo";
于 2012-12-16T02:46:07.287 回答
0

简单的答案是你不能/不应该尝试在 Java 中做那种事情。Java 变量名必须在编译时知道。时期。


在这种特殊情况下,无论如何这似乎都是毫无意义的练习。考虑一下:

String buildstring_<buildNumber> = ...

你将如何使用这个假设变量?

if (buildstring_<buildNumber>.equals(...)) {
    ....
}

但你也可以像这样实现同样的事情:

String buildstring_current = ...

if (buildstring_current.equals(...)) {
    ....
}

好的,所以假设有很多这些构建字符串......

String buildstring_1 = ...
String buildstring_2 = ...
String buildstring_3 = ...

if (buildstring_<buildNumber>.equals(...)) {
    ....
}

很好......但是当<buildNumber>大于最后一个buildstring_?声明时会发生什么?编译错误或运行时错误!!!

不。在 Java 中执行此操作的明智方法是使用数组或Map... 或可能从属性文件中读取的内容。

于 2012-12-16T02:58:52.237 回答