Java 杂谈嵌入式软件java学习

java 中 null == a 和 a == null 的区别

2018-08-07  本文已影响29人  chenxuxu

在一些书籍和博客里会看到一种说法,判空时建议 null 放前面。照葫芦直接在项目中用,结果被组长问:为什么要这么写?我一下子懵了,不知道怎么回答。最近整理才明白当中原因,理由如下:

我们在代码中判空时,if (a == null),有可能手快写成 if (a = null),这在一些语言是可以进行编译运行,结果就会出错,让你花费时间查找此处问题。但是写成 if (null = a) 编译运行是一定会报错的。所以反着写可以预防一些错误因素。

这时有些朋友按捺不住,跳出来说:在 java 下 if (a = null) 编译器就会报错,因为括号内只能放 boolean 值。别急,这可不一定。别忘了 Boolean 的存在。请往下看:

演示代码

上面这段代码在编译器不会报错。即使是进行编译运行,也是部分编译器运行成功,部分编译器运行失败。(这里确实很神奇,我在 android studio 运行成功过,后面又一直运行失败...)

总结

明白了 null 放前面的原因和特殊情况后,大家也可以根据自己喜好做选择。在 java 中,一般 null 放后面其实影响也不大,看各自的习惯了 (-0_0-)。

上一篇下一篇

猜你喜欢

热点阅读