java - 检查 NullPointerException、正确性或个人信仰?

标签 java

在我的代码中,我对 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/

相关文章:

java - Android 应用程序不将 SQL 结果显示为数字

java - ElasticSearch OOM 有问题,有足够的 RAM 和 ulimits 备用

java - 如何在反序列化文档时忽略未使用的 XML 元素?

java - hibernate 定义可能的列值

java - 即使使用 selenium Web 驱动程序在移动 Web 应用程序中成功执行 click() 方法,屏幕也不会导航

java - 用 Java 或 Python 从我的网络摄像头捕获单个图像

java - Java 8 Streams 中使用谓词对象的动态函数调用

java - JScrollPane 内 JPanel 上的 JTextArea 无法正确调整大小

Java hashCode() 在同一对象创建的不同执行中有所不同

java - Android-如何访问PDF页面的属性?