這個"=="是我過去常踩的坑了,突然想起來確實挺有意思的:
比較的是值
1.如果比較的是基本數據類型,比較的則是變量值
2.如果比較的爲引用數據類型,比較的則是地址值
沒想到吧,像String這種比較的其實是地址,老慘了.
equals比較的是引用數據類型
1.如果沒有重寫hashCode和equals方法,比較的是地址值。因爲Object的equals方法中使用是"=="。
2.如果重寫hashCode和equals方法,則比較的重寫後的規則。
例如:兩個String字符串比較時:比較的是內容。因爲String底層重寫了equals方法進行內容的比較。