【发布时间】:2016-05-23 09:59:53
【问题描述】:
我正在使用HashMap<String, MySuperClass> 集合,其中密钥为String 格式。一般来说,为了使用HashMap集合,需要覆盖equals()和hashCode()。
我想澄清一下,我是否应该为String、Integer 和HashMap 中的其他“原始”类覆盖equals() 和hashCode()?
【问题讨论】:
-
嗯?
String和Integer是已经有equals和hashCode的内置类。 -
是的,这就是问题的原因。在某些地方,我读到
String和Integer没有必要,但在其他地方人们也为这些类实现equals()和hashCode()。所以,我想澄清这一刻。 -
"在其他地方人们为这些类实现
equals()和hashCode()"在哪里? -
@AndyTurner, stackoverflow.com/a/22904620/462347
-
@MikeB。该代码覆盖了地图的equals方法,而不是String的equals方法......
标签: java hashmap guava equals hashcode