欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

null==a和a==null的区别

程序员文章站 2022-04-10 23:52:55
在项目代码中在if判断中会经常看到一些老司机这样写:if(null == a),而我由于习惯会写成if(a == null),这两种有什么区别呢? 其实两种并没有什么区别,只是前者在细节处理上。我们在代码判空时,由于手快可能将if(a == null)写成if(a = null),这在一些语言中是可 ......

在项目代码中在if判断中会经常看到一些老司机这样写:if(null == a),而我由于习惯会写成if(a == null),这两种有什么区别呢?

其实两种并没有什么区别,只是前者在细节处理上。我们在代码判空时,由于手快可能将if(a == null)写成if(a = null),这在一些语言中是可以编译通过的,但结果会报错,这样就会让我们花费时间去查找问题。但写成if(null = a)编译一定是会报错的,所以在一定程度上减少了错误排查的时间。

有的朋友可能会说在c#环境下,这两种情况好像都会报错的吧,如:

null==a和a==null的区别 

好像确实是这样,但是您忘记了c#新增的dynamic类型吗?编译是通过的,但是运行起来就炸了。

null==a和a==null的区别

 null==a和a==null的区别

所以,好的程序从细节出发。

参考:https://blog.csdn.net/dajian35/article/details/81503292