可能重复:
Java local variable visibility in anonymous inner classes - why is ‘final’ keyword required?访问本地变量从内部类
我有这个功能,创建一些按钮。我试图out.println 项目在doAction方法。
for (int i = 0; i < itemsList.size(); i++) {
String item = itemsList.get(i);
TButton button = new TButton("" + item, 8, 415 + (25 * i), 90, 25) {
public void doAction() {
System.out.println("" + item);
}
};
this.framework.add(button);
}
,我发现了错误
local variable item is accessed from within inner class
如何做到这一点的正确方法?
我认为,如果你声明'item'为'final'您的代码将工作 –