任何人都可以請澄清,當我們在集合上檢查平等的equals()方法被調用傳入對象或那些有在集合對象。對於前。 如果一個Set或一個HashMap有對象object1,object2和object3以及第四個對象叫做object4試圖進入Set,或者在hashmap的情況下將它與已經存在的三個對象進行比較,那麼在這第四個方法上調用equals()方法對象和已經存在的三個對象一個接一個地傳遞或者反向是真的。equals()方法被調用現有對象或傳入對象在集合
2
A
回答
0
嗯......正如我剛纔在eclipse檢查,進入對象的equals()方法被調用。 Eclipse通過ref。在傳入對象的equals()方法中一個接一個地存在的對象。 我知道你們大家都在說,它是用Sun的equals()方法合約寫的,它等於方法應該是自反的,對稱的和傳遞的。 當我在考慮如果主動檢查了兩個引用(即正在檢查的相等)是否指向同一個對象,那麼可以更好地優化集合。如果是的話,那麼通過equals()和hashcode()方法是有意義的。
6
答案並不重要(實施時可能會有所不同),因爲通過合同,A.equals(B)
當且僅當B.equals(A)
。不尊重這份合同是收藏中奇怪和不連貫行爲的祕訣。
3
沒有辦法知道,除非你正在考慮一個非常具體的集合實現。你不應該依賴它。等號方法應該是自反的,即x.equals(y)
應該給出與y.equals(x)
相同的結果,除非其中一個爲空。
2
有應a.equals(b)和b.equals(一)(如果A和B不爲空)的平等應該是對稱之間沒有性差異。不能保證使用什麼形式(a.equals(b)或b.equals(a))。
相關問題
- 1. 對象沒有被傳入回調
- 2. 集合隨機方法有空對象
- 3. 使用Java集合<E>。載有(對象o)重載時equals方法
- 4. 是否的assertEquals(對象01,對象02)使用equals方法
- 5. 調用對象和被調用對象
- 6. 對象在被傳入方法後被取消分配
- 7. 迭代集合中的對象並調用特定對象上的方法
- 8. 調試集合對象
- 9. equals方法二進制對象
- 10. Java對象中的HashCode和Equals方法
- 11. 領域對象的equals方法
- 12. 如何動態加載JavaScript對象或調用對象方法?
- 13. django鉤入對象被調用時獲取方法/對象的更新字段
- 14. 鍵入對象的集合
- 15. 可空對象通用對象集合
- 16. 對象集合
- 17. 對象集合
- 18. NHibernate - 將對象添加到多對多集合時,現有對象被刪除並重新插入
- 19. .NET集合和訪問對象方法
- 20. UML - 對象方法返回集合
- 21. OOP Javascript父對象方法或對象?
- 22. Firebase.database()對象沒有'ref'方法或'參考'方法來調用
- 23. 使用OGNL或struts2標籤調用收集對象的方法
- 24. 在緩存中存儲對象集合的方法或策略
- 25. 調用方法對象
- 26. 對象的調用方法
- 27. 調用對象 - 方法
- 28. 將對象傳遞給方法,然後調用該對象的擴展方法
- 29. 方法總是需要被對象或類調用嗎? (Java)
- 30. 的Equals的對象
您能告訴我們一些代碼,告訴我們您正在嘗試做什麼,以便我們可以更好地理解這一點嗎? –
爲什麼不看源代碼而不是相信陌生人的話? – dty
@dty:你爲什麼推薦?在這種情況下,從標準API查看類的源代碼非常危險,因爲您可能最終依賴於實現的特定細節。 – jarnbjo