【发布时间】:2012-03-26 07:30:27
【问题描述】:
我很清楚合同需要确保hashCode 与equals 一致并且equals 与compareTo 一致。但是,这是often violated in practice。是否有任何工具、技术或库可以自动测试这种一致性?
不幸的是,我怀疑答案是否定的,但是如果能够对这种可以利用库调用或框架而不需要编写自定义测试的事情进行单元测试,那将很有用在重要的情况下手动处理。
如果不清楚我所说的一致性是什么意思,对于hashCode 和equals,我指的是以下内容:
对于equals 和compareTo,我指的是以下内容:
【问题讨论】:
-
只需将一些对象粘贴到
HashMap和TreeMap中,看看是否可以取回它们;-)
标签: java unit-testing equals hashcode compareto