String a = "a"
请问null == a 和 a == null 的区别
没什么区别
只是为了 防止将 == 错写成 =的一种手段
NULL=a 会报错的。
a=NULL 不会报错。
这样,当我们错写的时候,就能很好的得到提示了
防止将 == 错写成 =的一种
没有区别
==具有三大性质
自反性 a==a永远成立
传递性 a==b b==c必然a==c
对称性 a==b,必然b==a
其实没区别,硬要说有那就是前者的主体是null,判断null是否等于a,后者主体是a,判断a是否等于null
原来如此,谢谢,终于明白了。
在网上找到说是NullPointException,后来自己测了发现不对啊,a.equals("")和"".equals(a)这个才是避免空指针
谢谢大哥!!!
效果是一样的,只不过null == a这种写法编译器会检查,防止错写成null = a,实际上这样编译不通过,会有错误提示。
通俗点就是判断的主体不同,但实际上功能都一样
可以防止将==写成=的错误发生
: 如果null写在前面,null=a编译不通过
: a=null确可以通过,但是错误的
没有什么区别,验证相等返回布尔值的时候前后是等价的~~
程序员一般都被要求这样写,因为有些人马虎大意,有时候会将==写错,写成=。
如果a = null, a.equals("Happy new year")这种判断的话如果a为null就会出现异常,但是改成"Happy new year".equals(a)这种写法的话,则即使a为null也不会有问题,所以在编程中进行比较就最好把常量放在左边。