【发布时间】:2013-10-25 06:42:26
【问题描述】:
我们知道,如果我们想创建一个类的对象,就必须实现接口的所有方法。但是为什么不需要在java中实现接口Comparator的compare()和equals()这两个方法呢?
我同意目的已解决,但即便如此,如果我们覆盖 compare(),为什么不强制覆盖 equals()?
【问题讨论】:
-
@downvoter:你知道正确的答案吗? +1 供应商。这里有一个链接。值得一读。javapractices.com/topic/TopicAction.do?Id=10
-
@sᴜʀᴇsʜᴀᴛᴛᴀ 虽然读得很好,但主要针对
Comparable#compareTo(T),而不是Comparator#compare(Object,Object),并且只是简短地说“请注意,如果比较器只比较几个重要字段中的一个,那么比较器是很可能没有与 equals 同步。” -
如果您阅读了链接的问题/答案,您应该了解
equals对 Comparator 的含义 ...以及为什么覆盖它是错误的/毫无意义的。跨度>
标签: java interface comparator