第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

equals()到底是比較什么

equals()比較的到底是對象的引用是否指向同一內(nèi)存地址,還是比較的對象的值是否相同

正在回答

4 回答

那要看調(diào)用equals()方法的對象所對應(yīng)的類 里的equals方法是怎么寫的了。

舉個例子。

一般的類沒有重寫Object類的equals()方法,比如你隨便定義一個類Student,那么當(dāng)我Student t = new Student();t.equals(??)這里就會調(diào)用父類的equals()方法。Object類里的equals方法比較的是地址,所以我寫的這個類比較的也是地址。

而有些類為了一些使用上的方便合理,于是便重寫了equals()方法。比如String類,當(dāng)我們使用字符串時,當(dāng)他們內(nèi)容相同時,我們會認(rèn)為他們沒有什么不同,我們希望兩個內(nèi)容一致的String對象用equals()比較會返回true。而String類中的equals()方法正是這樣重寫的,只要內(nèi)容相等,A.equals(B)就是true,在String的對象調(diào)用equals()方法時,就是比較內(nèi)容。

當(dāng)然,我們也可以自己去重寫equals()方法,從而讓我們自己寫的類達(dá)到自己的期望。比如說,依然是一個Student類,我現(xiàn)在希望說如果兩個Student姓名,學(xué)號相同,我就認(rèn)為他們是一樣的。我就可以重寫equals()方法,如果兩個對象的id、name全相等,那么就返回true,否則返回false。

所以記住Object類里的equals()方法比較的就是地址,而所有的類都直接或間接繼承自O(shè)bject,這些子類的equals()方法是比較什么,就看他們是如何重寫equals()的。重寫equals()最典型的例子就是String類了。

2 回復(fù) 有任何疑惑可以回復(fù)我~
#1

小僧一戒 提問者

非常感謝!
2015-09-24 回復(fù) 有任何疑惑可以回復(fù)我~

就像 兩個人,比較長相一樣不。? 也就是內(nèi)容一樣不

0 回復(fù) 有任何疑惑可以回復(fù)我~

沒重寫的equals()就是比較的就是地址,重寫了比較的就是你自己定義的內(nèi)容

0 回復(fù) 有任何疑惑可以回復(fù)我~

內(nèi)容是否相等

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

equals()到底是比較什么

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號