如何从String创建变量名?

Mik*_*ike 0 java variables recursion while-loop

我正在做很多变量,但我想通过while语句来做这个.

问题是我无法弄清楚如何将变量用作变量名的一部分,以便在循环id中创建的变量不会多次创建(从而导致错误).

我有一个像这样的循环:

int index = 0
while (index < 10){
    JLabel A1 = new JLabel("A" + [index]);
    index++;
}
Run Code Online (Sandbox Code Playgroud)

显然我不希望我的所有变量都被称为A1,因为这不是合法的语法.我如何拥有它以使我的变量为A [index]?

Jon*_*eet 11

你基本上没有.变量名在编译时定义.

您要么需要某种基于索引的集合(数组,列表)或字符串键控集合(例如a HashMap<String, JLabel>).

如果你只是想通过索引来访问,你并不需要在以后添加的项目,那么就使用一个数组:

JLabel[] labels = new JLabel[10];
for (int i = 0; i < labels.length; i++) {
    labels[i] = new JLabel("A" + i);
}
Run Code Online (Sandbox Code Playgroud)

或者列表:

List<JLabel> labels = new ArrayList<JLabel>();
for (int i = 0; i < 10; i++) {
    labels.add(new JLabel("A" + i));
}
Run Code Online (Sandbox Code Playgroud)