在java中的变量名末尾附加一个数字

The*_* K. 5 java variables append variable-names

假设我的代码中定义了很多变量,并带有这样的名称

public javax.swing.JPanel BenderPanel1;
public javax.swing.JPanel BenderPanel2;
public javax.swing.JPanel BenderPanel3;
etc...
Run Code Online (Sandbox Code Playgroud)

所以他们的一般类型是这样的:BenderPanel"NUMBER".

我想访问其中一些并设置其可见性,.setVisible(false);但我想访问的那些面板的数量是在运行时用户定义的.

是否有任何可能的方法通过库将数字附加到每个变量的末尾,以便在for循环中访问它,如下所示:

for (int i=1; i<=UserInput; i++)
{
     BenderPanel"i".setVisible(false); // Watch this "i" right there.
}
Run Code Online (Sandbox Code Playgroud)

需要将它们添加在ArrayList第一和具有明显的方式做到这一点?

T.J*_*der 5

您无法在Java中动态创建成员(您可以通过反射动态访问它们,但这里不需要它).

而不是拥有

public javax.swing.JPanel BenderPanel1;
public javax.swing.JPanel BenderPanel2;
public javax.swing.JPanel BenderPanel3;
Run Code Online (Sandbox Code Playgroud)

public javax.swing.JPanel[] BenderPanels;
Run Code Online (Sandbox Code Playgroud)

要么

public List<javax.swing.JPanel> BenderPanels;
Run Code Online (Sandbox Code Playgroud)

然后你可以用增强的for循环遍历它们.

for (javax.swing.JPanel panel : BenderPanels) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)