如何为多个依赖于彼此的类创建equals方法

时间:2016-11-14 19:10:46

标签: java equals

我似乎遇到了一些障碍。我有3个类需要重写equals方法。但是,正如我目前了解他们的班级结构,这是不可能的。我正在寻找有关此事的一些指导。

我有A班,里面是B班.A级"有-a" B级。

我有B班,里面是C班.B"有-a" C级。

我有C级,里面是A级.C级"有-a" A级。

如何正确定义equals方法,看似每个equals方法依赖于另一个?我应该重组类关系,还是可以定义一个给定这种关系的equals方法?

谢谢!

编辑:为了进一步澄清,这里有关于课程的更多信息(这不是他们实际上是什么,但更好地理解为什么这种关系是这样的):

A类是一个盒子。 B类是一个较小的盒子。 C类是一个对象。

每个A都有B. 每个B都有几个C。 每个C不仅需要知道它的B,还需要知道它的A;因此它将A作为一个字段,给我们这种循环关系。

2 个答案:

答案 0 :(得分:0)

statement课程中引用了A的引用,从C上下文A获取B,这样您就可以类似于C或简称c.getB().getA()

如果C == C和C.getB()== C.getB()和C.getA()== C.getA(),其中C.get() - > c,则测量平等。 getB()。木屐()

答案 1 :(得分:0)

C类不应包含A类。您可以看到这将如何创建无限循环。 A> B个C>将> B个C>一种。不知道确切的问题,我建议可能在C中使用枚举来指示它所在的“盒子”,但不直接引用该框。