Java學習之Object類的equals 方法

2021-08-29 16:28:02 字數 852 閱讀 6837

喵喵喵~~~

小北今天想把object類中的equals()方法想給大家更詳細的解釋一下下咯

首先equals()方法在預設的情況下比較的是物件的引用是否相同

源**:public boolean equals(object obj)

}其實呢string這個時候已經被重寫過了

因此輸出的結果就是:true

那麼如何來改寫呢?

我們來舉個例子:

public class day11code7 

}class name

public string tostring()

public boolean equals(object obj)

return super.equals(obj);

}public int hashcode()

}

這是最簡單的乙個改寫equals(),如果兩個字串內容相同則返回true,否則返回false

但是,但是,但是,但是,但是,但是,但是,但是,但是,但是,但是,但是,但是,但是,但是~~~~(手麻了)但是分隔符

what????????這是什麼情況??????萬臉懵逼!!!!!!!

好的,小北來解釋 一下:上圖:

簡單的解釋就是如果你只改寫了equals()方法而沒有改寫hashcode()那麼就有可能導致儲存兩個值相同的物件

那麼為什麼要重寫hashcode()呢?重寫hashcode()是為了將資料存入hashset(),hashmap(),hashtable()時進行比較

java的Object類的學習

object 所有類的公共父類,一旦乙個類沒有顯示地繼承乙個類則其直接父類一定是object。equals方法 當引用型別呼叫equals方法時,如果沒有重寫equals方法,則比較的是記憶體位址,如果重寫了equals方法則比較的是值的大小,但是string,date等重寫了equals方法,所以...

java學習日記 Object類I

object類 object是所有類的父類,如果乙個類沒有使用extends關鍵字明確標識繼承另外乙個類,那麼這個類預設繼承object類。object類中的方法適合所有子類。object類中幾種重要的方法 1,tostring方法 在object類裡面定義tostring方法的時候,返回物件的雜湊...

鳥哥Java學習之Object類 物件導向

1.object 所有類的根類,是不斷抽取而來的。具備著所有物件都具備的共性內容。2.equals 單單判斷物件位址相等否無太大意義,一般都會覆蓋此方法,根據物件的特有內容,建立判斷物件是否相同的依據。public class equals object obj 多型 personp person ...