Q
:!= VS等於
4
A
回答
8
==
(和擴展!=
)檢查對象標識,也就是說,如果兩個對象引用了相同的實例。 equals
檢查更高級別的身份概念,通常是否對象的「值」是相等的。這意味着什麼對於該特定對象實施equals
的人。所以他們不是一回事。
這兩個不是同一個東西的常見示例是字符串,其中兩個不同的實例可能具有相同的內容(相同的字符串),在這種情況下,==
比較是錯誤的,但equals
返回true。
的equals
(上Object
)的默認實現使用==
裏面,這樣的結果都是一樣的不覆蓋equals
(不包括空值,當然)
7
在一般情況下,沒有他們是不一樣的。第一個版本檢查elem1
和elem2
是否是對同一對象的引用(假設它們不是原始類型)。第二個版本調用特定於類型的方法來檢查兩個(可能不同)的對象是否「相等」,在某種意義上(通常這只是檢查其所有成員字段是否相同)。
我不認爲這與泛型有任何關係。
相關問題
- 1. == vs等於C#
- 2. _mm_load_ps vs. _mm_load_pd vs.等
- 3. 數學:VS未作評估的VS推遲VS保持VS HoldForm VS HoldAllComplete等等等等
- 4. TypeScript:冒號vs等於(AngularJS教程)
- 5. 當比較對象時等於vs GetHashCode
- 6. 在SQL中,使用vs vs等於什麼性能?
- 7. C - '大於'vs'大於或等於'的表現
- 8. 等於絃樂VS等於爲員工/天波超視距雷達類
- 9. 等於不等於
- 10. AppleScript如果等於,等於,等於
- 11. afterLayout vs layout,afterRender vs render等在ExtJS中?
- 12. C#異步任務等待VS等待
- 13. 結構等同vs名稱等價
- 14. Android:API等級VS. Android版本
- 15. cocos2d vs andengine等距遊戲?
- 16. HTML.innerHTML VS Jquery.html() - JavaScript執行等
- 17. MFC:基於VS SDI VS MDI
- 18. T-SQL不等於運營商VS Case語句
- 19. SQL左外連接vs內連接不等於
- 20. 在C#VS IDE中訂閱等價於「+ = Tab Tab」的事件
- 21. .NET Dictionary/IDictionary的Equals()合同vs等於()Java地圖的合同
- 22. R:+ =(加上等於)和++(加上)等價於C++/c#/ java等等?
- 23. SQL NULL等於不等於NULL
- 24. 等於(==)和等於(===)不適合我
- 25. PHP不等於或其他不等於
- 26. 長和int等於,等於什麼()
- 27. SQL大於,小於等於
- 28. NHibernate [Min(x)]是否大於等於?且不大於或等於?
- 29. 如何使用grep的值<=小於等於大於等於?
- 30. 「等同」與「等於」(或「絕對等於」)相同嗎?
這是什麼都與仿製藥做對象? – 2011-04-30 16:23:06
我剛剛意識到沒有什麼大聲笑 – bluehallu 2011-04-30 16:46:00
作爲一般的經驗法則,除了基本類型之外,不應該對任何東西使用==和!=運算符。請參閱Oli's和Matti的解答。 – 2011-04-30 16:49:01