我正在编写一个程序并且我得到了这个"最终的局部变量asd无法分配,因为它是在封闭类型中定义的。#/ p >
我将提供一个不是来自我的代码的示例,但这会产生错误。我有一个arraylist,我想稍后使用(如果我在按钮内定义它我以后不能使用它),在按钮之外,但按下按钮应该给这个arraylist值。在这个例子中,它将创建一个新的ArrayList"这会导致同样的问题。
Button btn = new Button("ASD");
final ArrayList asd = new ArrayList();
btn.setOnAction(new EventHandler<ActionEvent>() {
public void handle(final ActionEvent event) {
asd = new ArrayList(); //here's the error..
}
});
答案 0 :(得分:1)
清除ArrayList,然后添加值。
答案 1 :(得分:0)
你可以这样做:
Button btn = new Button("ASD");
final ArrayList[] asd = new ArrayList[1];
asd[0] = new ArrayList();
btn.setOnAction(new EventHandler<ActionEvent>() {
public void handle(final ActionEvent event) {
asd[0] = new ArrayList();
}
});
这是一个有用的页面:link