Java中"=="與equals的區別

這個"=="是我過去常踩的坑了,突然想起來確實挺有意思的:


比較的是值
1.如果比較的是基本數據類型,比較的則是變量值
2.如果比較的爲引用數據類型,比較的則是地址值

沒想到吧,像String這種比較的其實是地址,老慘了.


equals比較的是引用數據類型
1.如果沒有重寫hashCode和equals方法,比較的是地址值。因爲Object的equals方法中使用是"=="。
2.如果重寫hashCode和equals方法,則比較的重寫後的規則。
例如:兩個String字符串比較時:比較的是內容。因爲String底層重寫了equals方法進行內容的比較。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章