比较器接口有自己的equals()
方法。任何班级都会得到equals()
默认情况下通过 Object 类。需要具备什么equals()
接口内的方法?
Comparator
细化合同Object.equals
:它必须满足以下规定的约束Object.equals
然后还有一些.
此外,仅当指定对象也是比较器并且它施加与此比较器相同的顺序时,此方法才能返回 true。因此,comp1.equals(comp2)
暗示sgn(comp1.compare(o1, o2))==sgn(comp2.compare(o1, o2))
对于每个对象引用o1
and o2
.
声明一个equals
inside Comparator
允许您以 javadoc 的形式记录这一点。
请注意,API 的文档也可作为合同,因此这里不仅仅是装饰性的。这是其他代码和您的代码可以依赖的显式约束。
在类似的情况下,如果您的方法不太成熟,它也可以用作记录意图。 IE。,Interface.method
无论其超级接口如何演变,都应该存在。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)