在我的代码中,我对 null
进行了大量检查,这样我就不会得到 NullPointerException
通常我只是这样做:
if(variable != null){
//do something with the variable
}
以下是更好的方式还是只是问题或个人信仰?
if( !variable.equals(null) ){
//do something with the variable
}
是否有更有效的方法来进行此检查?
顺便说一句,我确实已经完成了我的研究,但我似乎找不到具体的证据来证明这两点。
P.S 这是 Avoiding != null statements 的不副本,最好的答案是您应该使用 Assert,它不能用于运行代码而不仅仅是显示消息,或者实际上抛出我不想要的异常。这篇文章解决的是同一主题的不同问题。
最佳答案
if(!variable.equals(null) ){
//do something with the variable
}
如果变量为空,则发生 NPE。第一种方法要好得多。
编辑:
使用可选:
假设您有 Person
对象并想要 getSalary()
。不幸的是 age 可以为 null - 在这种情况下你需要默认值。您可以执行 Integer salary = Optional.ofNullable(person.getSalary()).orElse(2000)
。如果薪水为空,它将返回 person 或 2000 的薪水。
关于java - 检查 NullPointerException、正确性或个人信仰?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39019505/