java equals

計算機大山的求知者發表於2020-12-22

equals

Object中的方法,作用在於堅持一個物件是否等於另外一個物件。
在Objiect類中,這個方法判斷兩個物件是否具有相同的引用,即是否為相同的物件。
沒有重寫的equals方法本質上就是"==",比較兩個引用的地址值
在實際應用中,一般需要重寫該方法,通過比較物件的成員屬性,使該方法更有意義

如何重寫eqauls方法?

public class Test {
	int a,b;

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Test other = (Test) obj;
		if (a != other.a)
			return false;
		if (b != other.b)
			return false;
		return true;
	}
}

String的equals方法用於比較兩個字元物件的轉發序列是否相等(已經重寫好equals)

equals和= =的區別
用於比較變數的值,可以應用於任何型別,如果用於引用型別,比較的是兩個引用變數中儲存的值(地址資訊)
判斷兩個變數是否指向相同的物件。equals是Object的方法,重寫以後,可以用於比較兩個物件的內容是否"相等",需要注意的是,Object預設的equals方法比較的規則同==

相關文章