空!=东西和东西之间的区别!= NULL(difference between null != so

2019-08-08 17:06发布

有没有之间的差异null != somethingsomething != null在Java中。 而如果是有区别的话,我应该使用哪一个,为什么?

Answer 1:

它可能是从所谓的乔达,正在添加的条件,你写的"bla" == myVariable代替myVariable == "bla" ,因为它可能发生在accidentially写myVariable = "bla"返回一部分语言也是“喇嘛”分配“喇嘛”以MYVARIABLE



Answer 2:

有没有区别null != somethingsomething != null 。 你必须思考person.getName().equals("john")"john".equals(person.getName())的区别:第一个将抛出一个NullPointerException ,如果getName()返回null ,而第二个不会。 但是,这并不适用于你的问题的例子。



Answer 3:

我只是想指出的是,“尤达条件”的理由这样做(如C&C ++语言)并不在此(Java)的情况下适用。

  1. Java不允许一般表达式被用作语句,这样既

      something == null; 

      null == something; 

    将编译错误。

  2. 该类型的something == nullsomething = 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:

他们都是相同的,没有区别。



文章来源: difference between null != something and something != null