字符串映射的最佳实践,覆盖哈希码和等于

Best practice for map of strings, override hashcode and equlas

我正在寻找最佳实践,每当我在 java 中使用地图时,我是否应该覆盖 hashcode 和 equals?或者 Map<String, String> 不需要?

字符串是 API class,您无权修改,甚至不能扩展它们,因为它们是 final。 API 有最好的 equals 实现和哈希码实现。继续使用它们。

如果已经有好的,您就不必这样做 String。事实上你不能覆盖 String 的方法,因为它是 final。但是,如果您定义自己的 class 并且您希望将它的对象存储在一个集合中,那么您必须编写一个好的 hashCode/equals 方法。检查现有类型的文档,以检查它们是否适合一般存储在集合中或更具体地散列。