记录一个Coding中小的也是不常注意的问题点。equals经常用到字符串的比较重,当然变量与常量的比较也是经常用到的。那么与常量比较时,变量是放到equals前面好呢还是放到后面好呢?正常情况下,两个变量的比较无所谓哪个在前面,但是如果存在特殊情况,看下面的例子:
String a = null;
System.out.println("a".equals(a));
当变量a为null并且在equals的后面时,输出结果是false。
String a = null;
System.out.println(a.equals("a"));
当变量a为null并且在equals的前面时,结果会报空指针异常。
综上:变量与常量比较时,变量应放在equals的后面。或者两个变量比较时把可能取到null的变量放到equals的后面。同样,使用null进行判断时推荐把null放在前面,比如 null != a;