我有了返回一个布尔值的方法。该方法有一个异步调用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;
}
此代码给出的错误 - “userAnswer”必须是最终的,如果我让它最终我不能给它分配一个值。请建议一种方法来处理这种情况。
除了语法错误之外,问题是在异步调用返回之前,布尔值将返回*。所以不知道你期望从这种方法... – assylias