object ==null 与 null ==object 在Java中有区别吗? 为什么有些人用后者?

其实没区别。原因是c开发的一个规范导致到。
在c里, if(c=1)  和 if(c==1)都是合法的,但是效果是不一样的。第一个是赋值,然后把赋值结果判断,一个是判读是否相等。这种情况很容易写错,为了防止这种情况,当时的规范是,如果有常量判断的话 ,把常量放在前面。这样由于常量无法赋值,就会发生编译错误。 也就是说 
c==1 和1 ==c都是一样的。 可是 c==1可能错误的写成c=1,而1==c不可能错误的写成1=c。
这个规范就这么流传了下来。 其实在java中 if(c=1)是不合法的,所以这个规范已经没有意义了。 而null是常量,有些人就出于习惯把它放前面了。

此外 ,需要注意   "AAAA".equals(a)  和 a.equals("AAA")是不同的。因为a为null时,第二个会报错。

对的,应该是他延续了c语言的习惯

你可能感兴趣的:(java)