有没有之间的差异null != something
和something != null
在Java中。 而如果是有区别的话,我应该使用哪一个,为什么?
Answer 1:
它可能是从所谓的乔达,正在添加的条件,你写的"bla" == myVariable
代替myVariable == "bla"
,因为它可能发生在accidentially写myVariable = "bla"
返回一部分语言也是“喇嘛”分配“喇嘛”以MYVARIABLE
Answer 2:
有没有区别null != something
和something != null
。 你必须思考person.getName().equals("john")
和"john".equals(person.getName())
的区别:第一个将抛出一个NullPointerException
,如果getName()
返回null
,而第二个不会。 但是,这并不适用于你的问题的例子。
Answer 3:
我只是想指出的是,“尤达条件”的理由这样做(如C&C ++语言)并不在此(Java)的情况下适用。
Java不允许一般表达式被用作语句,这样既
something == null;
和
null == something;
将编译错误。
该类型的
something == null
和something = null
是不同的; 布尔和分别一些引用类型。 在这种情况下,这意味着两个:if (something = null) { ... }
和
if (null = something) { ... }
将编译错误。
事实上,我想不出一个现实的例子,其中的null == something
是编译错误和something == null
不会。 因此,它并没有达到防错的方面东西。
Answer 4:
没有区别,但有些人在他们的代码中使用它以方便阅读。
Answer 5:
观点的性能会有没有什么区别,运营商的两侧执行的任何方式。 但对于一个更可读的代码,第二个似乎更可读
obj.getSomething().getAnotherThing().doSomething() != null
null != obj.getSomething().getAnotherThing().doSomething()
但是,如果你要只是比较变量或参数,这是更具可读性
something != null
当然,这依赖于读者的感觉。
Answer 6:
在Java中,如果我们比较任意,总是我们在左侧放置变量和值放置在右边...
Answer 7:
他们都是相同的,没有区别。