我曾多次听说使用boolean equals(Object o)来比较Strings,最好将常量放在
函数的左侧,如下所示:
> Bad:myString.equals(“aString”);
>好:“aString”.equals(myString);
为什么是这样?
因为如果myString为null,则会出现异常.你知道“aString”永远不会为null,所以你可以避免这个问题.
通常你会看到使用nullSafeEquals(myString,“aString”)的库;到处都是为了避免这种情况(因为大多数时候你比较对象,它们不是由编译器生成的!)