String類equals 原始碼逐行解析

2021-10-12 13:35:31 字數 471 閱讀 6046

上原始碼

基本型別沒有equals方法,因為equals方法的是object的方法,基本型別沒有繼承這個類。基本型別用「==」比較的是值。

而對於類來說,」=="比較的位址,即是不是在同乙個位址的同一物件。在obect類中,equals方法內部比較用的是」==「。但很多類都重寫了這個方法,使其比較的是內容。

來看string如何重寫的:

注釋寫在**塊裡了。

//先看是否為同一位址的同一物件

public

boolean

equals

(object anobject)

//如果不是同一物件,那是否是string類

if(anobject instanceof

string

)return

true;}

}return

false

;}

Java LinkedHashMap類原始碼解析

linkedhashmap繼承了hashmap,他在hashmap的基礎上增加了乙個雙向鍊錶的結構,鍊錶預設維持key插入的順序,重複的key值插入不會改變順序,適用於使用者需要返回乙個順序相同的map物件的情況。還可以生成access order順序的版本,按照最近訪問順序來儲存,剛被訪問的結點處...

Java LinkedHashMap類原始碼解析

linkedhashmap繼承了hashmap,他在hashmap的基礎上增加了乙個雙向鍊錶的結構,鍊錶預設維持key插入的順序,重複的key值插入不會改變順序,適用於使用者需要返回乙個順序相同的map物件的情況。還可以生成access order順序的版本,按照最近訪問順序來儲存,剛被訪問的結點處...

String類的equals方法

先上 public boolean equals object anobject if anobject instanceof string return true return false 字串比較方法可以看出從大方向到小方向對比 1.同乙個物件?比引用位址 如果位址都一樣,即乙個物件 直接返回t...