如何更正使用if / else语句寻找空值?

时间:2016-06-08 14:02:36

标签: java string if-statement error-handling null

我当前的代码如下(注意getId()返回string值:

 if(person.getId()==null){

    //do something
else{

    //do something else

}

但是,如果null Pointer exception的值为空,我仍然会收到person.getId()

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

通常,测试类似于:

  • 对象不为空
  • 对象的属性是需要的

对于你的例子,如果某人存在且没有身份证,你可能需要做点什么。

person

这解决了person为空的问题。

请注意,此处可能包含null if(person == null || person.getId() == null) { // do something } else { // do something else } 是错误。

答案 1 :(得分:1)

尝试:

{{1}}

答案 2 :(得分:1)

获取Java8中引入的read about Optional

对于某些类,比如String,你可以做“value”.equals(myString)而不是myString.equals(“value”),如果myString为null,断言将失败而不是抛出NPE。