Re: [問題] 一題SCJP的題目,有關equals()&hashcod()
※ 引述《louisyu (louis)》之銘言:
: 我認為當兩個物件比較的時候,
: 當equals() returns true,兩個hashCode不一定會相等
我不是高手,如果我解釋錯誤,請各位指點
如果是
String A = "ABCDE";
String B = A;
這時候 A與B 都是參考同一記憶體位址的物件
所以 兩個物件用 == 比較的時候 回傳 true
而且 兩個hashCode會相等 因為他們是同一個物件
但是
String A = "ABCDE";
String B = "ABCDE" + "";
這時候 A與B 都不是參考同一記憶體位址的物件
所以 兩個物件用 == 比較的時候 回傳 false
而且 兩個hashCode不會相等 因為他們不是同一個物件
如果要比較 A B 內容是否相等
只能靠 equals 來比對。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.120.175.188
→
12/07 23:24, , 1F
12/07 23:24, 1F
→
12/08 08:27, , 2F
12/08 08:27, 2F
→
12/08 08:30, , 3F
12/08 08:30, 3F
→
12/08 08:51, , 4F
12/08 08:51, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 4 篇):