java – 为什么是myString.equals(“aString”);不同于“aString”.equals(myString);?

前端之家收集整理的这篇文章主要介绍了java – 为什么是myString.equals(“aString”);不同于“aString”.equals(myString);?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我曾多次听说使用boolean equals(Object o)来比较Strings,最好将常量放在函数的左侧,如下所示:

> Bad:myString.equals(“aString”);
>好:“aString”.equals(myString);

为什么是这样?

解决方法

因为如果myString为null,则会出现异常.你知道“aString”永远不会为null,所以你可以避免这个问题.

通常你会看到使用nullSafeEquals(myString,“aString”)的库;到处都是为了避免这种情况(因为大多数时候你比较对象,它们不是由编译器生成的!)

猜你在找的Java相关文章