我想知道是否可以在循环中声明一个像“vx”这样的变量,并且每次循环时都会这样,x的值会发生变化。这样当循环运行5次时,变量将被命名为v1,v2,v3,v4,v5。
答案 0 :(得分:1)
基本上,您不能在循环中声明具有不同变量名的变量,因为Java是静态类型语言。
在具有不同名称的循环内声明(初始化)变量是没有意义的。毕竟,如果变量的范围就在循环内,变量就会超出范围并被销毁(垃圾收集)。
如果要初始化类变量,可以尝试使用Reflection API,但应该避免使用many reasons。
答案 1 :(得分:0)
这肯定是不可能的,因为Java是静态类型的。变量必须在编译时可用,但在运行时执行循环。
答案 2 :(得分: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);
Out put:
{var1=a, var2=b}