为什么比较器声明相等?
2022-09-01 16:14:53
比较器接口有自己的方法。默认情况下,任何类都将通过 Object 类获取。接口内部需要什么方法?equals()
equals()
equals()
比较器接口有自己的方法。默认情况下,任何类都将通过 Object 类获取。接口内部需要什么方法?equals()
equals()
equals()
Comparator
完善了合同:它必须满足一些约束。Object.equals
Object.equals
此外,仅当指定的对象也是比较器并且它施加与此比较器相同的排序时,此方法才能返回 true。因此,意味着对于每个对象引用 和 .
comp1.equals(comp2)
sgn(comp1.compare(o1, o2))==sgn(comp2.compare(o1, o2))
o1
o2
声明一个内部允许您以javadoc的形式记录它。equals
Comparator
请注意,API的文档也用作合约,因此它不仅仅是这里的装饰品。这是其他代码和您的代码可以依赖的显式约束。
在具有不太成熟的方法的类似情况下,它也可以用作记录意图。也就是说,应该在那里,无论其超级接口如何演变。Interface.method