java:同时需要身份和平等

Pie*_*rre -1 java design-patterns

我有一个java项目,我需要两个身份比较(2个引用相同)和相等比较(两个对象包含相同的数据).
我的解决方案是不重写equals/hashcode,并向我的对象添加isEqual方法.
有没有更好的模式来处理这种情况?

编辑:
以下是有关此特殊需求的更多信息.

默认情况下,我们有:

  • equals 执行身份检查(==)
  • contains正在实施equals,因此使用==

但对于我的用法,我想要:

  • equals 执行相等检查(对象包含相同的数据)
  • contains 用==继续实现

我不能同时拥有两个,所以一个解决方案是实现我自己的相等检查并具有:

  • contains 保持不变,使用==
  • 实现isEqual和使用它而不是equals

另一个解决方案是实现我自己的包含使用==:

  • 实现customContains使用==并使用它代替contains
  • 覆盖equals以检查对象是否包含相同的数据

哪个最好?还有另一种更好的方法吗?

cow*_*wls 7

重写equals()方法以确定对象是否包含相同的数据.

使用==以确定它们是否是同一个对象,即相同的参考.