【发布时间】:2020-04-06 16:49:32
【问题描述】:
IntelliJ IDEA 中有一个生成器。您按Alt+Ins,选择“等于和hashCode”,然后打开一个构造函数。您可以为 equals 选择字段,然后您可以为 hashCode() 选择字段。为什么我们可以选择不同的字段集?不是和equals-hashCode合约相矛盾吗?
【问题讨论】:
-
不一定。相等对象必须具有相同的哈希码,这并不意味着相等和哈希码必须基于相同的字段。
标签: java intellij-idea equals hashcode