Java 我可以要(I=0;I<;size;I+;+;){item";I=…}吗?

Java 我可以要(I=0;I<;size;I+;+;){item";I=…}吗?,java,Java,我想做到这一点: int item1, item2, item3; for (i = 0; i < size; i++) { "item"+i = i; } int项1、项2、项3; 对于(i=0;i

我想做到这一点:

int item1, item2, item3;
for (i = 0; i < size; i++) {
  "item"+i = i;
}
int项1、项2、项3;
对于(i=0;i

我该怎么做?我想在那里得到变量名,但它将是一些不起作用的东西(字符串+整数)的组合,而不是变量名

为此需要一个数组,而不是各种类似命名的变量

int[] item = new int[3];
for (int i = 0; i < 3; i++) {
    item[i] = i;
}
int[]项=新的int[3];
对于(int i=0;i<3;i++){
项目[i]=i;
}

这需要一个数组,而不是各种类似命名的变量

int[] item = new int[3];
for (int i = 0; i < 3; i++) {
    item[i] = i;
}
int[]项=新的int[3];
对于(int i=0;i<3;i++){
项目[i]=i;
}

作为Targetman答案的替代方案,您还可以使用
地图
来坚持您的字符串

Map<String, Integer> data = new HashMap<String, Integer>();
for(int i = 0;i < 3;i ++){
    data.put("item" + i, i);
}

尽管在某些情况下,由于取消装箱,.intValue()是可选的。

作为RGETMAN答案的替代,您也可以使用
映射来坚持字符串

Map<String, Integer> data = new HashMap<String, Integer>();
for(int i = 0;i < 3;i ++){
    data.put("item" + i, i);
}

尽管由于取消装箱,在某些情况下,.intValue()是可选的。

Java是静态类型的,并且具有静态变量名。简短回答:不,你不能那样做。阵列是你的朋友!数组是最好的选择,但是如果您使用的是已经创建的单个字段(Java中没有动态创建),您可以签出。但是,对于这个目的来说,Java是一种雄心勃勃的、不必要的东西,它既是静态类型的,又有静态变量名。简短回答:不,你不能那样做。阵列是你的朋友!数组是最好的选择,但是如果您使用的是已经创建的单个字段(Java中没有动态创建),您可以签出。不过,对于这个目的来说,这有点雄心勃勃,也没有必要。然后,您可以使用
data.get(“item”+i).intValue()从映射中检索数据
@FlightOdyssey将此添加到我的答案中,并记入:)然后您可以使用
data.get(“item”+i.intValue())从地图中检索数据@FlightOdyssey将此添加到我的答案中,并记入:)