我正在尋找最佳實踐,我應該重寫hashcode和equalse每當我在java中使用映射?或者對於Map<String, String>
它不是必需的?字符串映射的最佳實踐,覆蓋hashcode和equlas
2
A
回答
3
字符串是一個API類,你不能修改,你甚至不能擴展它們,因爲它們是final
。 API具有最佳的equals和hash代碼實現。先鋒並使用它們。
1
您不必如果已經有一個很好的String
就是這種情況。事實上,你不能重寫String的方法,因爲它是final
。但是,如果你定義了自己的類,並且你想將它的對象存儲在一個集合中,那麼你必須編寫一個好的方法hashCode/equals
。檢查現有類型的文檔以檢查它們是否適合存儲在一般的集合中或更具體地散列化。
相關問題
- 1. 覆蓋靜態類的最佳實踐
- 2. C - 字符串的最佳實踐
- 3. 在Hibernate中映射一個本地化的字符串 - 任何最佳實踐?
- 4. 最佳實踐從字符串
- 5. 字符串常量...最佳實踐?
- 6. SyliusTaxonomyBundle覆蓋分類實體和映射
- 7. 將數據庫和XML映射到對象的最佳實踐
- 8. 使用XML和XSD映射數據庫的最佳實踐
- 9. OpenCL緩衝區分配和映射的最佳實踐
- 10. 覆蓋引導默認字體(最佳實踐)
- 11. 字符串和運算符:最佳實踐,與+
- 12. 最佳實踐條件與字符串和數字
- 13. 實現字符串映射
- 14. 轉義XML字符的最佳實踐?
- 15. pyelasticsearch映射覆蓋
- 16. 將MVC控制器映射到視圖的最佳實踐?
- 17. 在客戶端映射webservice端點的最佳實踐
- 18. 關於類型映射的最佳實踐
- 19. 創建鍵/值映射的最佳實踐dev/prod node.js
- 20. 異步映射移動的最佳實踐
- 21. 寫入文件最佳實踐(鎖定文件/覆蓋)
- 22. 如何在函數中注入/覆蓋代碼?最佳實踐?
- 23. 最佳實踐,覆蓋__construct()與提供init()方法
- 24. 使用帶有NSString的url字符串的最佳實踐stringWithFormat
- 25. .NET格式化字符串 - 評論的最佳實踐?
- 26. C#SQL連接字符串的最佳實踐
- 27. 最佳實踐:10000+字符串的Angularfire數據庫結構
- 28. 存儲多語言字符串的最佳實踐
- 29. ASP.NET連接字符串部署的最佳實踐
- 30. 匹配最佳實踐的Scala字符串模式
嘗試覆蓋'String'的equals和hashcode。這是不可能的,因爲String類被聲明爲final。如果equals方法被對象類繼承,或者如果您從另一個對象繼承,並且需要比較這個新類中的其他信息,則只應該重寫'equals'和'hashcode' – SomeJavaGuy