1、null写在==的前面和后面有什么区别?
null放在前面就是为了避免变量为空时 引了空指针异常
如: if(a==null) 如果a 真为空时,现在就相当用调用了变量a的方法,a 都为空了还调用他的方法,当然会引发空指针异常了,但写成if(null==a)就不会了。
这种说法其实是不确切的。在java中: 当a = null的时候,if (a == null){ ... } 或者 if ( null == a){ ... }都是可以正常运行的。 出现这种写法的原因是在C语言中出现的,在C语言中 if (a = null) { ... } 【少敲打一个符号 ‘=’的情况下】编译不会报错,但是写成 if (null = a){ ... }编译就会报错。所以在C语言中会鼓励程序员使用 null == a 来进行判断。
2、" "写在equals的前面和后面有什么区别?
同样的,a.quals("")和"".equals(a)相比也可以避免引起空指针异常。