所以我有一个接口(interface),它声明了一些常量整数,我可以在实现所述接口(interface)的任何类中访问这些常量整数。
我刚刚在接口(interface)中声明了一个常量字符串数组,我尝试访问它,结果得到一个空指针表达式,我的数组声明如下:
public static final String[] STRINGS = {"bla","bla","bla","bla", "bla", "bla"};
在测试程序中,以下行返回 NullPointerException:
System.out.println(STRINGS[1]);
所以,我的问题是:这里有什么问题吗?或者你只能在接口(interface)中使用整数常量吗?
public class MyFrame extends JFrame implements MyInterface {
....
....
private static JCheckBox[] checkBoxes = new JCheckBox[NUMBER];
....
....
int counter = 0;
for (JCheckBox box : checkBoxes) {
box.setText(STRINGS[counter]);
box.setSelected(false);
checkBoxPane.add(box);
counter++;
}
....
上面的代码显示了测试类,NUMBER和STRINGS在MyInterface中声明,为了简单起见我更改了名称。
提前致谢。
最佳答案
Object
数组中的元素默认为 null
。确保在尝试调用组件上的方法之前已初始化每个 JCheckBox
for (int i=0; i < checkBoxes.length; i++) {
checkBoxes[i] = new JCheckBox();
}
关于java - 无法访问在 Java 接口(interface)中声明的常量/最终字符串数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21936973/