如何处理递归哈希码

时间:2017-06-30 10:02:09

标签: java recursion tree hashcode

我正在尝试为某些链接彼此的类创建一个正确的hashCode(和equals)实现。

示例:

  • 对象1(父级)

    • 儿童名单
  • 对象2(孩子)

如果我要为这些对象的每个字段创建hashCode,则会出现无限循环:父项的hashCode取决于其子项;孩子的hashCode取决于其父母。

我该如何解决这个问题?我不能忽略其中一个字段。在我的实现中,父母有姓名,所以现在我使用父name字段来散列而不是散列整个对象。这很容易出错,因为对象可能具有相同的名称但不是相同的子对象。

编辑:我不能忽略父,因为除了父级之外,子节点可能在结构上相同:然后它们不相等,因为它们在数据结构中处于不同的位置。这个问题不重复。

0 个答案:

没有答案