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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/gaoyi221119/article/details/88842662

不管是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的好。

猜你喜欢

转载自blog.csdn.net/gaoyi221119/article/details/88842662
今日推荐