我的问题是,如果我有一个类似
的数组String [] varNames=new String[numOfVariables];
for(int i=0;i<numOfVariables;i++){
varNames[i]=scan.next();
}
我想创建一个新的整数数组,其名称为varNames [1]。
例如,如果在varNames [1]的地方,&#34; fish&#34;存储然后我想将varNames [1]的名称分配给我将要制作的新整数数组。
喜欢
int [] verNames[i]=new int[20];
但我不知道我该怎么做......任何想法都会非常感激。 感谢。
答案 0 :(得分:6)
您正在寻找Map<String,T>
- 其中T
是您的变量类型。
这是&#34;方法,因为java不是dynamic binding语言,所有变量名称(和类型)必须在编译时才知道。
答案 1 :(得分:1)
Java不支持动态变量,它们必须在源代码中声明(严格类型化)。
您可以使用地图来获得与您尝试的内容接近的内容,请访问Map
API。
答案 2 :(得分:1)
int [] verNames[i]=new int[20];
没有。那是不可能的。变量名称不应该是动态的。它们是严格打字的。
答案 3 :(得分:1)
您无法动态提供变量名称。此外,您甚至需要在编译程序之前声明变量名称。
但是如果你想要,你可以这样做,让多个变量存储在集合中。
Map<String, Integer> map = new HashMap<String, Integer>();
for(int i = 0; i < 2; i++)
{
map.put("n1", i);
}
答案 4 :(得分:1)
从你的问题:
int [] verNames[i]=new int[20];
这是不可能的。您无法在运行时创建变量。