在Java中使用For循环中的Var

时间:2011-04-05 17:09:00

标签: java for-loop

对不起,我是Java新手,我正在做朋友项目。我似乎在努力解决这个问题。我正在尝试使用一个非常简单的for循环来迭代我从另一个类获得的几个变量。

for (int i = 0; i < 8; i = i + 1) { // Test and Loop
    myarr.add(anotherclass.SVAR+i);
}

我不确定为什么它们最初没有放入数组(也许是因为它更容易以字符串形式访问它们?)。在任何情况下,它们都设置为SVAR0,SVAR1到SVAR7。我怎样才能做到这一点?当我有我的SVAR + i时,它表示没有定义SVAR,这是有道理的,因为它不是。

提前谢谢你!

2 个答案:

答案 0 :(得分:4)

您无法像这样动态构建对变量/字段等的引用。编译器需要一个显式引用。

但是,您可能希望使用reflection来派生名称,然后对您的对象进行内省以查找该字段并检索该值。 Here'是一个简单的例子来说明你是如何做到的。

但是我认为更好的对象/字段结构可能更合适(取决于您的用例等)。

答案 1 :(得分:1)

用数组替换变量,或展开循环。你想要什么是可能的,但只有通过虚拟机内省才能付出巨大代价。