== 和 equals

1、對(duì)于基本數(shù)據(jù)類型變量,不能用equals, 只能用==。

用==比較變量?jī)勺兞績(jī)?nèi)存中對(duì)應(yīng)的數(shù)值是否相等。

如:

int na = 8;

int nb = 8;

na == nb 是返回true的

2、 對(duì)于引用變量,它指向的是類型對(duì)象,該變量自己有一塊內(nèi)存,類型對(duì)象也有一塊內(nèi)存,引用變量?jī)?nèi)存里存儲(chǔ)的是類型對(duì)象的首地址。用==比較的是引用變量的值是不是相等, 也表示這兩個(gè)變量指向的對(duì)象是不是同一個(gè)對(duì)象。

如:

Object oa = new Object();

Object ob = new Object();

oa == ob 返回的是false, 因?yàn)樗麄冎赶虻膶?duì)象不是同一個(gè)。

Object oc = new Object();

Object od = oc;

oc == od ?返回的是true。

3. equals不能用于基本數(shù)據(jù)類型。? 對(duì)于定義的數(shù)據(jù)類型,個(gè)人可以根據(jù)具體的業(yè)務(wù)邏輯來(lái)定義該方法,用于檢查兩個(gè)對(duì)象的相等性。

對(duì)于定義的類型, 如果自己沒(méi)有重寫(xiě)(繼承自O(shè)bject類), 默認(rèn)情況下和==意義一樣。

public boolean equals(Objectobj){?

? ? ?return(this==obj);

}

對(duì)于String, equals方法已經(jīng)被重寫(xiě)(override), 他判斷兩個(gè)字符串是不是相同的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容