內(nèi)容導(dǎo)航:
- 前言
- 1筹燕、equals方法
- 2、==
- 3蛹含、特殊情況
1毅厚、equals方法
equals方法判斷其它某個(gè)對(duì)象是否與此對(duì)象“相等”。方法定義如下:
public boolean equals(Object obj) {
return (this == obj);
}
由方法定義可知浦箱,Object類中的equals方法吸耿,用來(lái)比較兩個(gè)引用的虛地址。當(dāng)且僅當(dāng)兩個(gè)引用在物理上是同一個(gè)對(duì)象時(shí)酷窥,返回值為true咽安,否則將返回false。
equals 方法在非空對(duì)象引用上實(shí)現(xiàn)相等關(guān)系:
自反性:對(duì)于任何非空引用值 x蓬推,x.equals(x) 都應(yīng)返回 true妆棒。
對(duì)稱性:對(duì)于任何非空引用值 x 和 y,當(dāng)且僅當(dāng) y.equals(x) 返回 true 時(shí)沸伏,x.equals(y) 才應(yīng)返回 true糕珊。
傳遞性:對(duì)于任何非空引用值 x、y 和 z毅糟,如果 x.equals(y) 返回 true红选,并且 y.equals(z) 返回 true,那么 x.equals(z) 應(yīng)返回 true留特。
一致性:對(duì)于任何非空引用值 x 和 y纠脾,多次調(diào)用 x.equals(y) 始終返回 true 或始終返回 false,前提是對(duì)象上 equals 比較中所用的信息沒(méi)有被修改蜕青。
對(duì)于任何非空引用值 x苟蹈,x.equals(null) 都應(yīng)返回 false。
Object 類的 equals 方法實(shí)現(xiàn)對(duì)象上差別可能性最大的相等關(guān)系右核;即慧脱,對(duì)于任何非空引用值 x 和 y,當(dāng)且僅當(dāng) x 和 y 引用同一個(gè)對(duì)象時(shí)贺喝,此方法才返回 true(x == y 具有值 true)菱鸥。
注意:當(dāng)此方法被重寫(xiě)時(shí)宗兼,通常有必要重寫(xiě) hashCode 方法,以維護(hù) hashCode 方法的常規(guī)協(xié)定氮采,該協(xié)定聲明相等對(duì)象必須具有相等的哈希碼殷绍。
例:
輸出:
2、==
==
等式運(yùn)算符比較的是內(nèi)存中的虛地址鹊漠。
例:
輸出:
3主到、特殊情況
3.1、字符串
3.2躯概、包裝類
3.3登钥、數(shù)組
持續(xù)更新,歡迎留言提議娶靡!
碼字很累牧牢,多點(diǎn)贊多贊賞!