java - 空指针异常处理

标签 java

我浏览过一些网站,他们谈论如何预防 NPE。在那里我看到人们说使用 null != object 但我不明白为什么。在java中执行以下操作有什么区别?

if(null != object) 

对比

if(object != null)

最佳答案

两者在效果上没有区别。

然而,有一种思想流派建议在运算符的左侧使用不可分配的(常量)值。因为这降低了意外赋值的风险(这是从 C 编译器没有发出警告开始的)。

// this is dangerous when misstyped
if (object = null) {

关于先写 null 确实可以减少输入错误的影响的论点是相当薄弱的。特别是当不使用“==”而是使用“!=”或“<”时。所以我想说,忽略这些建议。

然而,在某些情况下,顺序有助于防止 NPE:

if ("string".equals(object))

在这种情况下,当“object”为 null 时,您不会得到 NPE。

关于java - 空指针异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24965930/

相关文章:

java - 缩短 Java 代码的语言技巧?

java - 只能第一次从 TargetDataLine 记录

java - 我想在 ListView 中一行显示两个项目

java - 安卓异常 : 'java.lang.NoClassDefFoundError: javax.jmdns.JmDNS'

java - 如何在 Scala 中将一个或多个文件从一个文件夹移动到另一个文件夹

java - 是否可以返回 ResultSet 以在 JSTL 中使用?

java - 为什么我从 Eclipse antfile 构建 jar 时会收到 "no main manifest attribute"错误?

java - Swing/多个Applet在同一个JVM中

c# - 模拟管理系统?

java - 单元测试目录是否存在 - Junit