休假后回来:)提出问题。我正在从阅读《可比接口(interface)文档》
ComparableDocumentation。我确实知道,我们使用可比值,因为它将为我们提供排序和自然排序。在文档中,它写为。
可比与平等如何相关。可比较具有compareTo方法,为什么它需要与equals方法一致?我无法理解这个概念。
也引用来源,有人也可以详细说明这一点
谢谢。
最佳答案
compareTo
返回0的语义是,这两个对象相等。如引用中所述,在另一种方法中对相同关系进行另一个定义显然会导致多种麻烦:SortedSet
实现中的典型算法依赖于compareTo
,但是Set
接口(interface)的常规协定规定必须不包含两个对象equals
。 compareTo
和equals
的报告不一致会导致这种情况。
关于java - 为什么可比自然排序需要与equals方法一致?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18302279/