我当前的代码如下(注意getId()
返回string
值:
if(person.getId()==null){
//do something
else{
//do something else
}
但是,如果null Pointer exception
的值为空,我仍然会收到person.getId()
。
我该如何解决这个问题?
答案 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。