类具有标识,并且它们的hashValue可以很容易地成为它们在内存中的地址。为什么不是这样?
答案 0 :(得分:1)
因为基于身份的hashValue是没有意义的。这是一个例子:
假设我正在组合来自两个不同来源的两组数据并检查重复项。一种常见的方法是将两者都添加到Set
。这些对象肯定具有唯一的身份(即不同的地址)。如果这暗示他们也有唯一的hashValues,那么将不会检测到任何重复。使用Set
进行重复处理的全部原因首先是因为hashValue
意味着重复内容的定义。你的建议会打破这个。