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就是被比較的的那個的物...