null == var 和var == null之间到底有什么不同,可能很多人只是以为是代码习惯的不同,本质上没有什么不同。到底他们之间是否真的相同呢/
null == var
这种表达式称为Yoda condition expression.
简单来说:Yoda condition expression是指在条件判断语句中将条件比较的两部分按声明的顺序进行颠倒的一种写法。
如:
正常的条件判断可以写作:
if(str == 42){/*....*/}
Yoda condition expression可以写作:
if(42 == str){/*....*/}
这种写法的原因来自星球大战,具体可以点击上侧的链接进行了解。
这种写法带来的唯一好处是:当var == null
我们误写作赋值语句var = null
的时候,语言并不会报错,但是写作null = var
在编译阶段就会报错。
而对程序执行的结果并不会造成影响。