我有一个必须返回布尔值的方法。该方法有一个异步调用 run 方法。在运行方法中,我必须在封闭方法中设置变量。下面是我的代码。
private boolean isTrue() {
boolean userAnswer;
Display.getDefault().asyncExec(new Runnable() {
public void run() {
userAnswer = MessageDialog.openQuestion(new Shell(), "some message", "some question?");
}
});
return userAnswer;
}
这段代码给出了错误——“userAnswer”必须是最终的,如果我把它变成最终的,我就不能给它赋值。请提出一种处理这种情况的方法。