比较顺序是否存在差异?

时间:2012-02-07 07:49:16

标签: java string compare

最好用的是:

String s=.....
...............//some calculation

final String const="abcd";

 s.compareTo(const)

const.compareTo(s)

感谢。

3 个答案:

答案 0 :(得分:4)

我非常怀疑它在性能方面很重要。 如果s nullconst.compareTo(s),则更喜欢s(实际上,如果nullNullPointerException,那么'你'我会以compareTo()的方式获得{{1}}。)

答案 1 :(得分:2)

结果将与两次比较的符号相反。换句话说,如果s.compareTo(const) == 1然后const.compareTo(s) == -1

除此之外它是一样的。使用const.compareTo(s)而不是替代方案通常是个好主意,因为这样可以避免潜在的空例外。

答案 2 :(得分:1)

许多人更喜欢使用const.compareTo(s) ,因为它会在s null的情况下起作用,但我发现它的可读性较差。