我浏览过一些网站,他们谈论如何预防 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/