我正在寻找最佳实践,我应该重写hashcode和equalse每当我在java中使用映射?或者对于Map<String, String>
它不是必需的?字符串映射的最佳实践,覆盖hashcode和equlas
2
A
回答
3
字符串是一个API类,你不能修改,你甚至不能扩展它们,因为它们是final
。 API具有最佳的equals和hash代码实现。先锋并使用它们。
1
您不必如果已经有一个很好的String
就是这种情况。事实上,你不能重写String的方法,因为它是final
。但是,如果你定义了自己的类,并且你想将它的对象存储在一个集合中,那么你必须编写一个好的方法hashCode/equals
。检查现有类型的文档以检查它们是否适合存储在一般的集合中或更具体地散列化。
相关问题
- 1. 重载hashCode最佳实践
- 2. 覆盖静态类的最佳实践
- 3. 测试Hibernate映射的最佳实践
- 4. 覆盖jQuery函数 - 最佳实践
- 5. Scala最佳实践:映射2D数据
- 6. C - 字符串的最佳实践
- 7. 在Hibernate中映射一个本地化的字符串 - 任何最佳实践?
- 8. 字符串常量...最佳实践?
- 9. PHP字符串参数最佳实践
- 10. 最佳实践从字符串
- 11. Python字符串列出最佳实践
- 12. 将数据库和XML映射到对象的最佳实践
- 13. OpenCL缓冲区分配和映射的最佳实践
- 14. 使用XML和XSD映射数据库的最佳实践
- 15. 覆盖引导默认字体(最佳实践)
- 16. SyliusTaxonomyBundle覆盖分类实体和映射
- 17. 颠覆最佳实践和清理
- 18. 字符串和运算符:最佳实践,与+
- 19. 最佳实践条件与字符串和数字
- 20. 实现字符串映射
- 21. Java的休眠覆盖枚举/字符串值映射
- 22. 转义XML字符的最佳实践?
- 23. 在ExtJS中覆盖类/属性的最佳实践?
- 24. 覆盖特定实体类的映射
- 25. pyelasticsearch映射覆盖
- 26. 关于类型映射的最佳实践
- 27. 将MVC控制器映射到视图的最佳实践?
- 28. 休眠映射中的最佳抓取实践(多对一)
- 29. 许多至多数据映射的最佳实践
- 30. 在客户端映射webservice端点的最佳实践
尝试覆盖'String'的equals和hashcode。这是不可能的,因为String类被声明为final。如果equals方法被对象类继承,或者如果您从另一个对象继承,并且需要比较这个新类中的其他信息,则只应该重写'equals'和'hashcode' – SomeJavaGuy