java - 我应该为 HashMap、Java 中的 String 键重写 equals() 和 hashCode() 吗?

标签 java hashmap guava equals hashcode

我正在使用HashMap<String, MySuperClass>集合,其中键位于 String格式。一般来说,为了使用HashMap集合,有必要覆盖equals()hashCode() .

我想澄清一下,我应该覆盖equals()吗?和hashCode()对于 String , Integer ,以及 HashMap 中的其他“原始”类?

最佳答案

没有。 String(和Integer)已经实现了equalshashCode,并且您无法覆盖它它们是因为这些类是final,因此不可扩展。

关于java - 我应该为 HashMap、Java 中的 String 键重写 equals() 和 hashCode() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35359448/

相关文章:

java - 使用 JSP 迭代 Multimap

java - 将 ImageIcon 从类显示到 JSF 页面?

java - 如何创建同一类的多个对象?

java - 如何将 ResultSet 转换成有用的整数?

java - 将字符串转换为 HashMap

java - 将 'new'放入put方法中,还是使用中间变量,效率更高吗?

java - 如何在 java 8 stream api 中使用 guava Predicates 作为过滤器

java - 如何解决java中Set<Path>的Hibernate映射异常?

android - 如何用逗号分隔数组列表值并放入hashmap

java - 保存和重新加载 Guava 布隆过滤器时出错 - 需要帮助查找代码中的任何错误