猿问

如何检查一个方法是否不为空?

由于我对编程比较陌生,所以我现在不知道如何检查方法是否不为空。在下面的代码中,我需要检查answers.get方法是否不为空,我该如何实现这一点?


public class SharedViewModel extends ViewModel {



private HashMap<Integer, MutableLiveData<String>> answers = new HashMap<>();


public MutableLiveData<String> getAnswer(int questionId) {

    return answers.get(questionId);

}


public void setAnswer(int questionId, String answer) {

    // TODO make sure that answers.get is not null


    answers.get(questionId).setValue(answer);

 }

}


皈依舞
浏览 121回答 3
3回答

慕虎7371278

只要在尝试访问该对象或操作它时添加一个null检查即可。answers.get(questionId)public class SharedViewModel extends ViewModel {&nbsp; public void setAnswer(int questionId, String answer) {&nbsp; &nbsp; if(answers.get(questionId)!=null){&nbsp; &nbsp; &nbsp; &nbsp;answers.get(questionId).setValue(answer);&nbsp; &nbsp; &nbsp;}&nbsp; &nbsp;}}如果您使用的是 Java8 及以上版本,您还可以使用//nonNull will return true if object is not nullif(Objects.nonNull(answers.get(questionId))){&nbsp; &nbsp;answers.get(questionId).setValue(answer);}&nbsp;

牧羊人nacy

只是为了添加到现有答案和您的待办事项中,您可能需要使用getOrDefault,answers.getOrDefault(questionId,&nbsp;answer);

蓝山帝景

一般来说你可以这样做:if(methodname(args)!&nbsp;=null&nbsp;)&nbsp;{//statements}&nbsp;;
随时随地看视频慕课网APP

相关分类

Java
我要回答