This question already has answers here:
Java : Comparable vs Comparator [duplicate]
                                
                                    (2个答案)
                                
                        
                5年前关闭。
            
        

据我了解,Comparator可以做(可及)的所有可比较的工作,所以,拥有Comparable有什么需要?在Java中保留Comparable有什么优势?举一个例子,使得某些事情只能使用Comparable来完成,而不能使用Comparator来完成。

最佳答案

Comparable在那里支持类的自然顺序的概念。就像类实现其相等语义一样,它也可以选择实现其排序语义。这两个概念是联系在一起的:自然顺序应该与equals保持一致,因此它显然属于同一类。

是的,我们可以在没有Comparable的情况下进行管理,但要以增加样板为代价,在这种情况下,即使不显式提供排序策略,您也无法根据明显的排序对整数进行排序。

关于java - 有什么事情只能由Comparable来完成,而Comparator不能实现相同的目标吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27358513/

10-12 17:59