Java 如何使用if/else语句查找空值?
我的当前代码如下所示(请注意,Java 如何使用if/else语句查找空值?,java,string,if-statement,error-handling,null,Java,String,If Statement,Error Handling,Null,我的当前代码如下所示(请注意,getId()返回一个string值): 但是,如果person.getId()的值为null,我仍然会得到一个null指针异常 如何解决此问题?通常情况下,测试如下: 对象不为空 对象的属性是所需要的 举个例子,如果这个人存在并且没有id,你可能需要做些什么 if (person != null && person.getId() == null) { // Do something, for example create person
getId()
返回一个string
值):
但是,如果person.getId()
的值为null,我仍然会得到一个null指针异常
如何解决此问题?通常情况下,测试如下:
- 对象不为空
- 对象的属性是所需要的
举个例子,如果这个人存在并且没有id,你可能需要做些什么
if (person != null && person.getId() == null) {
// Do something, for example create person on the db
}
这解决了person
为空的问题
请注意,可能有person
null
这是一个错误。通常测试如下:
- 对象不为空
- 对象的属性是所需要的
举个例子,如果这个人存在并且没有id,你可能需要做些什么
if (person != null && person.getId() == null) {
// Do something, for example create person on the db
}
这解决了person
为空的问题
请注意,可能有person
null
这是一个错误。请尝试:
if(person == null || person.getId() == null) {
// do something
} else {
// do something else
}
尝试:
以Java8中引入的
对于某些类,如String,可以使用“value.equals”(myString)代替myString.equals(“value”),如果myString为null,则断言将失败,而不是抛出NPE。采用Java8中引入的一种方法
对于某些类,如字符串,您可以执行“value”。equals(myString)而不是myString。equals(“value”),如果myString为null,则断言将失败,而不是抛出NPE。执行if not null检查,然后执行其他操作。这取决于“do something”的操作。您确定person不为null吗?您需要确保person不为null。有时,值可能为null,其他时候它有一个值做一个if not null检查,然后是else。这取决于“do something”做什么。你确定person不为null吗?你需要确保person不为null吗?有时候这个值可以为null,其他时候它有一个值if(person==null&&person.getId()==null)
应该选择在if之上(person==null | | | | person.getId()==null)
因为如果person==null不为null,JVM将在person==null之后停止检查,而| | |(or)将导致第二条语句也被检查。if(person==null&&person.getId()==null)
应该选择if(person==null | | person.getId()=null)
因为JVM将在person==null之后停止检查,如果它不是null,| |(or)将导致第二条语句也被检查。