我正在制作许多变量,但我希望通过while语句来实现这一点。
问题在于我无法弄清楚如何将变量用作变量名的一部分,以便在循环id中创建的变量不会多次创建(从而导致错误)。
我有一个这样的循环:
int index = 0
while (index < 10){
JLabel A1 = new JLabel("A" + [index]);
index++;
}
显然我不希望我的所有变量都被称为A1,因为这不是合法的语法。我如何拥有它以便我的变量将是A [index]?
答案 0 :(得分:11)
基本上,你没有。变量名称在编译时定义。
您要么需要某种基于索引的集合(数组,列表)或字符串键控集合(例如HashMap<String, JLabel>
)。
如果仅想要通过索引访问而您以后不需要添加项目,那么只需使用数组:
JLabel[] labels = new JLabel[10];
for (int i = 0; i < labels.length; i++) {
labels[i] = new JLabel("A" + i);
}
或者列表:
List<JLabel> labels = new ArrayList<JLabel>();
for (int i = 0; i < 10; i++) {
labels.add(new JLabel("A" + i));
}