如何使用for循环将String变量与数字混合设置为""?

时间:2015-09-23 00:06:05

标签: java

我继承了一个我需要改变的Java程序。在代码的一部分中,我看到我创建了超过1000个String变量,例如:

String field01  
String field02  
...  
String field1000

我想创建一个for循环来将所有提到的变量设置为"",但是我遇到了为for循环构建正确格式的问题。

如何在for循环中创建字段+(i)以将field01设置为"",其余的?

5 个答案:

答案 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