【发布时间】:2017-08-08 20:36:31
【问题描述】:
假设我有一个 HashMap M。我想在这个 HashMap 上调用“get”函数,并找到与给定对象 S 关联的值。但是我没有对对象S 的实际引用,因此我创建了一个新对象S_new,其内容与S 的内容相同。如果我调用M.get(S_new),那会给我与键S 关联的值吗?
【问题讨论】:
-
绝对不,它们不是同一个实例。
-
简短答案 - 如果对象相等且具有相同的 hashCode 值,它将正常工作。
-
如果它们的哈希值相同——是的。如果不是——不。应该避免吗? -- 绝对