【问题标题】:Does exists difference in order of comparison?比较顺序是否存在差异?
【发布时间】:2012-02-07 07:49:16
【问题描述】:

更好的用途:

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

final String const="abcd";

 s.compareTo(const)

const.compareTo(s)

?

谢谢。

【问题讨论】:

  • const 是一个关键字。你不能将它用于变量名

标签: java string compare


【解决方案1】:

我非常怀疑它在性能方面是否重要。 如果s 有可能是null,那么更喜欢const.compareTo(s)(实际上,如果snull,你会得到一个NullPointerException 和@ 987654327@ 一种或另一种方式。)

【讨论】:

    【解决方案2】:

    两次比较的结果将取反。换句话说,如果s.compareTo(const) == 1 那么const.compareTo(s) == -1

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2017-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-22
        • 1970-01-01
        • 2016-09-04
        • 1970-01-01
        相关资源
        最近更新 更多