解决方案 »

  1.   

    自己去看Comparable接口方法的说明。
      

  2.   

    我觉得算法应该能做到不和自己比较。
    基本上人家写代码会避免不必要的性能浪费。我之前用过 Drools ,比如写着条件 one.isOK() && two.isOK() 条件时,当我们把 two 对象的状态改了,重新触发它判断条件时,它竟然都只调用了 two.isOK() 就把事情做完了,我就很惊讶,不知道它是怎么做到的,这正是我们期望的性能提高,本来以为它们全部重新计算一次呢得到 O(n * n) 的时间复杂度呢,但实际上只花了 O(n)。