我继承了一个我需要改变的Java程序。在代码的一部分中,我看到我创建了超过1000个String变量,例如:
String field01
String field02
...
String field1000
我想创建一个for循环来将所有提到的变量设置为""
,但是我遇到了为for循环构建正确格式的问题。
如何在for循环中创建字段+(i)以将field01设置为""
,其余的?
答案 0 :(得分:2)
for循环...好吧,你可以把它变成一个数组,但是没有任何方法可以将它变成没有数组的for循环。
以下是一个例子:
String[] test = new String[1000];
for (int number; numer < 1000; number++){
test[number] = "";
}
答案 1 :(得分:2)
你必须使用Reflection来做同样的事情。
class Test {
String field1
String field2
...
String field1000
}
public class FieldTest {
public static void main(String args[]) {
Test t = new Test();
Class cls = t.getClass();
for(int i=0 ; i<=1000; i++){
Field f1 = cls.getField("field"+i);
f1.set(t, "");
}
}
}
答案 2 :(得分:1)
你无法在Java中真正做到这一点。另一种方法是创建一个String数组,其中数组的索引是您想要的变量的编号。因此field01将存储在索引1的字符串数组中。
答案 3 :(得分:0)
首先,创建一个数组。其次,使用Arrays.fill
:
String[] fields = new String[1000];
Arrays.fill(fields, "");
稍后您可以通过fields[index]
等索引访问或修改单个变量。
创建具有相似名称的1000个变量并不是人们用Java编程的方式。
答案 4 :(得分:0)
我知道这不是确切的答案,但可以帮助你。或者你需要使用反射。
ud_disassemble