为什么要用null!=object(null==object)这种形式

不管是null!=object还是object!=null,在比较的时候都会读取一次object的值。
把null写左边其实可以防止编程出现的低级错误,你用不等于(!=)不好说明,改用等于。
if(object == null)这个语句有时候没注意就会写成:if(object = null)//少了个等号
这样在有的语言中编译是不会出错的,而在运行中结果就不知道了。。
但是你把null写在左边,null其实相当于一个常量,你对常量赋值编译的时候就会报错,这样就能防止这种错误的发生了:

if(a == 5) //这是比较
if(a = 5) //能执行,不过C#里有检测这种错误
if(5 = a) //编译就报错

在java里面,它们是一样的。但是为什么把name == null写成是null == name,具体点来说,是在C语言里面引申出来的。
在C语言里面,为了防止少敲一个等号,编程人员仍然能在编译的时候找到错误。因为if(name=null)是在编译的时候,不会出现错误,而if(null=name)是会编译出错。
故而,null == name,是在C语言的编程习惯引入进来的。当然了,在java里面,if(name=null)是会出现编译错误的,现在就不用担心这个了。但是,良好的编程习惯,还是写成 null == name的好。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值