为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

皈依舞 2023-08-16 09:51:01
由于我对编程比较陌生,所以我现在不知道如何检查方法是否不为空。在下面的代码中,我需要检查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); }}
查看完整描述

3 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

只要在尝试访问该对象或操作它时添加一个null检查即可。answers.get(questionId)


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


查看完整回答
反对 回复 2023-08-16
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

只是为了添加到现有答案和您的待办事项中,您可能需要使用getOrDefault

answers.getOrDefault(questionId, answer);


查看完整回答
反对 回复 2023-08-16
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

一般来说你可以这样做:

if(methodname(args)! =null ) {//statements} ;


查看完整回答
反对 回复 2023-08-16
  • 3 回答
  • 0 关注
  • 120 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信