我不明白,为什么WeakHashMap
用它们来散列键hashCode()
并用 来标识equals()
?
通过这个类的约定,它可以用来将任何实例绑定到任何其他实例。在我看来,这意味着按身份进行哈希和比较。
文档中的事件有一个关于混淆用法的注释,例如String
:
此类将非常适用于其 equals 方法不基于对象标识的关键对象,例如 String 实例。然而,使用这种可重新创建的键对象,自动删除键已被丢弃的 WeakHashMap 条目可能会令人困惑。
那么,在某些集合库中,这个类是否有任何实现,它是由身份散列的?