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

标签 java android if-statement

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

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);
 }
}

最佳答案

每当您尝试访问或操作该对象时,只需在 answers.get(questionId) 上添加 null 检查即可。

public class SharedViewModel extends ViewModel {

  public void setAnswer(int questionId, String answer) {
    if(answers.get(questionId)!=null){
       answers.get(questionId).setValue(answer);
     }
   }
}

如果您使用的是 Java8 及以上版本,您也可以使用

//nonNull will return true if object is not null
if(Objects.nonNull(answers.get(questionId))){
   answers.get(questionId).setValue(answer);
} 

关于java - 如何检查一个方法是否不为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58047727/

相关文章:

Android ViewModel 观察 Mu​​tableLiveData<ArrayList<String>>

android - 如何在android中心画一条线和一些文本?

C++ if 命令读取 true 尽管 false

java - 如何使用 itext 打开受密码保护的 pdf

java - 寻找 Java 代码美化器(或者可能不是美化,而是使代码更优雅的东西)

java - Android 评级栏显示额外的剩余部分

c++ - 将两个数字转换成单词

Mysql触发器在2个表中进行计算?

java - 我可以在 Java Session 中存储多少数据?

java - 日期解析魔法