我在Java 8中有一个异步操作,它返回一个onError回调或onSuccess回调.如果操作成功与否,我需要返回我的方法内部.所以我返回一个布尔值来说明这个信息.我遇到的问题是我得到以下编译错误:
错误:从内部类引用的局部变量必须是最终的或有效的最终
谷歌搜索错误我可以看到你不允许这种类型的操作,但如果操作成功与否,我怎么能返回?
public Boolean addUser(String email, String password) {
Boolean isSuccess = false;
Map<String, AttributeValue> item = new HashMap<String, AttributeValue>();
item.put("email", new AttributeValue(email)); //email
item.put("password", new AttributeValue(password)); //password
dynamoDB.putItemAsync(new PutItemRequest().withTableName("Users").withItem(item), new AsyncHandler() {
@Override
public void onError(Exception excptn) {
}
@Override
public void onSuccess(AmazonWebServiceRequest rqst, Object result) {
isSuccess = true;
}
});
return isSuccess;
}
Run Code Online (Sandbox Code Playgroud)