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语言的习惯
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值