Object類中的方法 equals方法

2021-10-07 13:11:56 字數 650 閱讀 4729

public

boolean

equals

(object obj)

從原始碼可以看得出來,預設父類object類的equals方法底層還是跟"=="一樣,比較的是位址值,而比較兩個物件的位址是沒有意義的,一般都是比較物件的成員是否相等.

當父類方法無法滿足子類需要的時候,需要重寫

(1)至於怎麼重寫,我們可以先觀察一下string類中的equals方法,觀察string類中的equals方法的原始碼:

public

boolean

equals

(object anobject)

//先判斷是否是string類,如果不是,就直接返回false,提高了

//安全性,也提高了效率

if(anobject instanceof

string

)return

true;}

}return

false

;}

(2)重寫:可以自動生成

快捷方式:

idea:alt+ins

eclpise:alt+shift+s 再按h

Object類中的方法

hashcode 用於獲取物件的雜湊值,這個值的作用是檢索,具體的作用可以參考這裡 雜湊值相同的物件不一定equale equals 返回true的兩個物件一定相同。class package.name.在使用的時候要求在synchronize語句中使用 wait 用於讓當前執行緒失去操作許可權,當...

Object類中的常用方法

1 public int hashcode 返回該物件的雜湊碼值 雜湊碼值是根據位址值換算出來的乙個值,不是實際的位址值 2 public final class getclass 返回此object的執行時類 class類的方法 public string getname 以string的形式返回...

object類中的equals 方法

equals 用於數值與數值和物件與物件的比較 boolean a 要進行比較的乙個物件.equals 另乙個物件 equals方法的原碼 public boolean equals object obj 關於this,這裡誰呼叫的equals方法,這個this就是誰的,obj就是被比較的的那個的物...