public demo extends Frame
{
private String str[][][] =
{
{ {"",""},{"",""},{"",""}... },
{ {"",""},{"",""},{"",""}... },
...
};
public demo()
{
...
for(int j=0;j<str[index1][index2].length;j++)
list3.addItem(str[index1][index2][j],j);
}
}
编译报错:
---------- javac ----------
Demo.java:222: local variable str is accessed from within inner class; needs to be declared final
for(int j=0;j<str[index1][index2].length;j++)
Demo.java:222: array required, but java.lang.String found
for(int j=0;j<str[index1][index2].length;j++)Demo.java:223: local variable str is accessed from within inner class; needs to be declared final
list3.addItem(str[index1][index2][j],j);
Demo.java:223: array required, but java.lang.String found
list3.addItem(str[index1][index2][j],j);4 errors哪位大侠指教!!!
{
...
for(int j=0;j <str[index1][index2].length;j++)
list3.addItem(str[index1][index2][j],j);
}
in ...? hehe
The compiled result is the same..
Try!
从异常里面看,str应该是一个内部类里面的。要把它设为final的。
其实就是这个错,把你的代码粘出来看看,大致意思就是内部类访问不了局部变量,需要定义成final的。