java - 在 Java 中从字符串值调用/使用变量?

标签 java variables

所以我有一系列名为card1到card20的jButton。我想根据是否满足特定条件来更改图标,因此我想创建一个循环并将每个图标引用为 (“card”+ i) 或类似的内容,而不是编写单独的 if 语句每个按钮。我正在使用的代码已添加在下面,但是有没有办法循环此 if 语句,以便代码的每个循环都会影响不同的卡?

private void cardreset() {
    if (cardmatch[1] == 0) {
        card1.setIcon(back);
    }
}

这就是我想做的,但是事先将所有“card”变量添加到数组中会导致非法前向引用错误。

private void cardreset() {
    for(int i=1; i<=20; i++){
        if (cardmatch[i] == 0) {
            card[i].setIcon(back);
        }
    }
}    

最佳答案

您可以将它们放入数组中并以这种方式修改它们。

JButton cards[] = { card1, card2, ..., card20 };

然后当你想修改所有图标时:

if (condition) {

  for (JButton card : cards)
    card.setIcon(...);

}

或者修改特定图标(每隔一个):

for (int i = 0; i < cards.length; i++)
  if (i % 2 == 0)
    cards[i].setIcon(...);

关于java - 在 Java 中从字符串值调用/使用变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23481411/

相关文章:

java - 如何从 Android 上传 PDF 文件?

java - 将屏幕亮度控制添加到 Android 应用程序

bash - 是否可以在 bash 语法中使用变量?

java - 我的变量没有正确初始化

java - 从同一个类中的另一个方法调用 void 方法

java - 替换特定字符后的特定字符序列

c - C中的变量名是如何存储在内存中的?

Javascript动态变量(添加随机数)

java - 从匿名类内部访问方法范围内的变量

java - 字符串映射、覆盖哈希码和等于的最佳实践