【发布时间】:2017-11-17 12:18:21
【问题描述】:
为什么我的 Java HashMap 不起作用?我的对象具有.equals 相等意味着hashCode 相等的属性。
您可以假设我在将对象添加到HashMap 之后正在修改对象的字段。
【问题讨论】:
-
如底部this question 的回答中所述:如果您使用基于散列的集合,则需要“最终”散列码
-
您是否使用相同的对象作为您的 hashmap 的键和值?如果是这样,您要归档什么?通常,在将条目添加到 hashmap 后,根本不应该更改键。
-
所需的属性是对象相等意味着哈希码相等,而不是相反。如果对象用作键并且该字段构成哈希码或相等计算的一部分,则不能修改该对象的字段。
-
你的代码在哪里?如果没有机会看到您迄今为止所做的尝试,我们怎么能知道您可能做错了什么?
-
嗯,不需要代码。只是试图通过其他人的搜索结果来改善这种情况。我会将答案标记为已接受,这样它就不会出现在您的“未决问题”供稿中。
标签: java hashmap hashtable hashset