This question already has answers here:
object==null or null==object?
                            
                                (11个答案)
                            
                    
                2年前关闭。
        

    

两者有什么区别?哪一个更好?采访中有人问我。

我能想到的唯一区别是,如果您想执行if(null == object)并忘记添加==和添加=,它将不会对您的程序产生任何副作用。但是,如果您在执行if(object = null)时犯了此错误,则您的程序是敬酒的。

最佳答案

添加到Nayuki's answer中,如果程序员将type = =换为==,例如if(object = null),那么在少数情况下不会出现编译错误并且错误会在代码中蔓延。

例如:if (boolean1 = boolean2),首先是一个赋值表达式,然后对if条件求值。另一个有问题的代码是if (wrapperBool = null),其中wrapperBool是布尔包装类变量。它将在运行时引发NullPointerException(NPE)。

但是,作为Benny mentioned时,单元测试用例应引起误解。

关于java - if(object == null)v if(null == object)之间的区别? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50226352/

10-09 00:10
查看更多