使用损坏的哈希码契约为Java类创建映射

时间:2017-04-30 22:00:47

标签: java dictionary hash

我试图将数据映射到具有损坏的哈希码契约的类的实例 - 即,对于给定的类FoofooInst.clone().equals(fooInst)计算为true,但是fooInst.clone().hashCode() == fooInst.hashCode()评估为false。此外,使用提供的构造函数new Foo(fooInst).equals(fooInst)实际上计算为false。该类很大,令人困惑甚至表示递归数据结构:Foo包含对子Foo实例的映射。我无法改变课程。

为这些对象创建任何类型的地图查找机制有没有快速的方法(无论多么糟糕)?结构不包含任何循环引用,所以它应该可以穿过这个结构;有可能是例如不知何故安全地走路#34;通过对象的数据字段递归使用反射并使用它来创建哈希?或者为了避免散列用于完全映射而不诉诸于例如使用List<Foo>List<Bar> foos.get(n)bars.get(n)相关联,您只需搜索foos,直到找到与您需要的实例相当的实例找到数据?

0 个答案:

没有答案
相关问题