Java 如何使用for循环将带数字的字符串变量设置为"&引用;?

Java 如何使用for循环将带数字的字符串变量设置为"&引用;?,java,Java,我继承了一个需要更改的Java程序。在代码的一部分中,我看到我创建了1000多个字符串变量,例如: String field01 String field02 ... String field1000 我想创建一个for循环,将所有提到的变量设置为”,但是我在为for循环构建正确的格式时遇到了问题 如何在for循环中创建field+(I)以将field01设置为”,并将其余字段设置为 在Java中不能真正做到这一点。另一种方法是创建一个字符串数组,其中数组的索引是所需变量的编号。所

我继承了一个需要更改的Java程序。在代码的一部分中,我看到我创建了1000多个字符串变量,例如:

String field01  
String field02  
...  
String field1000
我想创建一个for循环,将所有提到的变量设置为
,但是我在为for循环构建正确的格式时遇到了问题


如何在for循环中创建field+(I)以将field01设置为
,并将其余字段设置为

在Java中不能真正做到这一点。另一种方法是创建一个字符串数组,其中数组的索引是所需变量的编号。所以field01将存储在索引1的字符串数组中。

A for循环。。。可以将其设置为数组,但实际上没有任何方法可以在没有数组的情况下将其设置为for循环

这里有一个例子:

String[] test = new String[1000];
for (int number; numer < 1000; number++){
     test[number] = "";
}
String[]test=新字符串[1000];
用于(整数;数字<1000;数字++){
测试[编号]=“”;
}

首先,创建一个数组。第二,使用
数组。填充

String[] fields = new String[1000];
Arrays.fill(fields, "");
稍后,您可以通过索引访问或修改单个变量,如
字段[index]


用相似的名称创建1000个变量不是人们用Java编程的方式。

我知道这不是确切的答案,但可能会对您有所帮助。或者您需要使用反射

Map<String, String> container = new HashMap<String, String>();
   for (int i = 0; i <1000; i++) {
   container.put("field"+ i, "\"\" ");
}
Map container=newhashmap();

对于(inti=0;i您必须使用反射来执行相同的操作

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, "");
     }
  }
}
类测试{
字符串字段1
字符串字段2
...  
字符串字段1000
}
公开课实地测试{
公共静态void main(字符串参数[]){
测试t=新测试();
类cls=t.getClass();

对于(int i=0;iIn Java,没有动态变量。很遗憾,您不能循环使用一组不同的变量名。@skandigraun您可以使用反射来伪造它,但它仍然是糟糕的设计,应该进行重构而不是改进。您“可以”使用反射,但您只是在传播问题(通常会使情况更糟)。更好的解决方案是用数组或
列表替换
字符串字段{n}
,如果变量(而不是字段)反射没有帮助的话。@TagirValeev这是真的,但无论如何我都不鼓励这种想法