4
A
回答
7
一個問題是,如果將其添加到Collection中後,其將在之後發生更改,您將無法在HashSet或HashMap中找到該對象(如果該對象是Map中的鍵)。
在對象的生命週期中更改equals
的結果可能會導致某些集合被打破。例如,您可能會發現在您的Set中有重複的對象,因爲當第二個對象被添加到Set時,它們不相等。
相關問題
- 1. Java - equals和hashcode
- 2. 重寫equals和hashCode的Java
- 3. Java:自動equals()和hashCode()
- 4. Overrding equals和hashCode
- 5. Map HashCode和Equals
- 6. @overriding的equals()和hashCode()的Java類
- 7. 在Java中hashcode()和equals()的工作?
- 8. Java對象中的HashCode和Equals方法
- 9. hashCode和equals在int []中的實現Java
- 10. Java中的equals()和hashCode()合同
- 11. 在java中重寫hashcode和equals方法?
- 12. 忽略equals()和hashCode()在Java中
- 13. Java集合 - 重寫equals和hashCode
- 14. 實現BST的equals和hashcode
- 15. Google App Engine,JDO和equals/hashCode
- 16. 什麼是重寫equals()和hashCode()的POJO?
- 17. 如何實現hashCode和equals方法
- 18. Java中的equals()和hashCode()LinkedHashMap和樹形圖?
- 19. JPA的JUnit測試與equals和hashCode
- 20. 重寫的hashCode()和equals()方法
- 21. 使用中間陣列的hashCode和equals
- 22. 使用UUID便宜的equals()和hashCode()
- 23. 重寫的hashCode equals方法
- 24. java中的哪些類正在重寫equals()和hashCode()方法?
- 25. 在Java中爲我的對象實現Equals和hashCode
- 26. 重寫hashCode()和equals()的Java HashMap不會返回任何數據
- 27. 避免重複使用equals和hashCode
- 28. hibernate如何使用equals()和hashCode()?
- 29. 如何在scala中實現equals和hashCode
- 30. 在Eclipse中調試equals()和hashCode()
可能重複[在Java中重寫equals和hashCode時應考慮哪些問題?](http://stackoverflow.com/questions/27581/what-issues-should-be-considered-when-overriding-equals- and-hashcode-in-java) – Dave 2015-01-31 19:30:44
你可能最終會遇到一些內存泄漏 – rodrigoalves 2015-01-31 19:32:04
只要這兩種方法之間的契約沒有被破壞,就應該沒問題。當您修改對象的狀態時,預計會更改結果。 – 2015-01-31 19:32:15