null == obj 和 obj == null在java中推荐前者的原因

来源:互联网 发布:财经大数据 编辑:程序博客网 时间:2024/05/16 11:46

在公司会看到代码规范中有一条是在if判空条件中要写成 

if (null == obj) 而不是 if (obj == null),之前不理解这样写有什么区别,后来才知道其实就是避免把 == 写成赋值 = ,因为如果是Obj = null IDE此时不会报错;而当你写成  null = obj的话 IDE是会报错的,这里也算是一种规范。





有很多同学会说防止空指针什么的,这里null在前在后对空指针是没有区别的。倒是如果是对字符串常量来说:

CONSTANT.equals(str)  确实比 str.equals(CONSTANT) 防止了str是空而报空指针的情况。希望以后写代码能注意这些细节和规范