我想知道是否可以在循环中声明一个像“vx”这样的变量,并让它每次循环时,x 的值都会改变。这样当循环运行 5 次时,变量将被命名为 v1、v2、v3、v4、v5。
问问题
3207 次
3 回答
1
基本上,您不能在循环中声明具有不同变量名的变量,因为 Java 是一种静态类型语言。
在具有不同名称的循环内声明(初始化)变量是没有意义的。毕竟,如果变量的范围就在循环内,变量就会超出范围并被销毁(垃圾收集)。
如果要初始化类变量,可以尝试 Reflection API,但出于多种原因应避免使用。
于 2013-09-17T18:15:16.993 回答
0
这当然是不可能的,因为 Java 是静态类型的。变量必须在编译时可用,但在运行时执行循环。
于 2013-09-17T18:15:02.530 回答
0
你不能在java中动态命名变量。但你可以做一些事情如下
List<String> dataList=new ArrayList<>(Arrays.asList("a","b"));
Map<String,String> map=new HashMap<>();
String preFix="var";
char postFix='1';
for(String i:dataList){
map.put(preFix+postFix,i);
postFix++;
}
System.out.println(map);
输出:
{var1=a, var2=b}
于 2013-09-17T18:18:19.097 回答