我有一个必须返回布尔值的方法.该方法具有对run方法的异步调用.在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;
}
Run Code Online (Sandbox Code Playgroud)
这段代码给出了错误 - "userAnswer"必须是最终的,如果我做到最后我不能为它分配一个值.请建议一种处理此方案的方法.