我不明白 Javadoc:
The natural ordering for a class C is said to be consistent with equals if and only if
(e1.compareTo((Object)e2) == 0) has the same boolean value as e1.equals((Object)e2) for
every e1 and e2 of class C.
为什么应该这样?
我知道 e1.equals(e2)=true 应该总是暗示 e1.compareTo(e2)==0,但我不明白为什么相反的情况应该是正确的。比较不是平等!2 个相等的对象应该与零进行比较,但如果排序标准与它们的情况不相关,则 2 个不同的对象应该能够比较为 0。我的意思是,使不同的对象相等是不正确的,但是具有 0 比较的不同对象为什么不呢?
编辑:后来它说强烈推荐一致性,对于一些兼容性问题,因此问题