Object類的equals方法

2021-10-04 22:09:52 字數 1540 閱讀 5196

public boolean equals(object obj)指示某個其他物件是否與此物件「相等」。

equals 方法在非空物件引用上實現相等關係:

引數:obj - 要與之比較的引用物件。

返回:如果此物件與 obj 引數相同,則返回 true;否則返回 false。

例如:

package tostring;

public

class

people

public

people

(string name,

int age)

public string getname()

public

void

setname

(string name)

public

intgetage()

public

void

setage

(int age)

}package tostring;

public

class

demo01

}

執行結果為:

tostring.people@5b6f7412

tostring.people@27973e9b

false

如果在demo01類中把p2的位址值賦值給p1,也就是讓p1=p2;

執行結果則變為:

tostring.people@5b6f7412

tostring.people@27973e9b

true

所以equals方法預設比較的物件的位址值,所以沒有什麼意義,需要重寫equals方法,比較兩個物件的屬性(name,age)。

在people類中新增:

@override

public

boolean

equals

(object obj)

elseif(

!name.

equals

(other.name)

)return

false

;return

true

;}

(快捷鍵 source -> generate hascode()and equals() )

**重寫後的執行結果為:

tostring.people@5b6f7412

tostring.people@27973e9b

true

**objects類

本類由一些操作物件的靜態工具方法構成,這些工具方法包括了非空檢查、方法的非空引數檢查、

比較物件的hashcode、為物件返回乙個字串表示、比較兩個物件

【特點】

該類是使用final修飾,不能被繼承

該類的構造方法被私有化(使用private修飾),不能直接建立物件

該類中所有的方法都是靜態方法,可以使用型別直接呼叫

Java中Object類的equals方法

所有類都從object類中繼承了equals方法 object類中equals方法源 如下 public boolean equals object obj object中的equals方法是直接判斷this和obj本身的值是否相等,即用來判斷呼叫equals的物件和形參obj所引用的物件是否是同一...

java基礎 Object的equals方法

一 看第乙個例子 public class cat1 public static void main string args 輸出結果 false false cat1 cat2 很簡單,他們不是同一物件,有不通的儲存位址。但是cat1.equals cat2 為什麼是false呢。因為cat是物件...

object類中的equals 方法

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