課程
/后端開發(fā)
/Java
/Java入門第三季
為什么比較名字時(shí)不能用==,要用equals?
2018-03-27
源自:Java入門第三季 6-1
正在回答
在基本類型中,“==”比較的是兩者的值
在引用類型中,“==”比較的是兩者的內(nèi)存地址,及是否為同一個(gè)對(duì)象
equals比較兩者的內(nèi)存地址,及是否同一個(gè)對(duì)象,但在String類中自動(dòng)重寫,比較是兩者的值是否相等
如果此處用“==”,比較的是內(nèi)存地址,用equals比較的是兩者的值,因此用equals
String類型中的equals方法是重寫過的,并不是直接比對(duì)地址是否相同。
name為String類型,比較的時(shí)候自然需要使用equals,而“==”比對(duì)的話,String類型會(huì)有很多情況是無(wú)法正常比對(duì)的,因?yàn)椤?=”比對(duì)的是地址,而String類型的產(chǎn)生和賦值都有可能內(nèi)容一致,但是為不同的對(duì)象。
java中的==和equals
對(duì)于基本數(shù)據(jù)類型==號(hào)只是比較值是否相同(因?yàn)榛緮?shù)據(jù)類型都有自己的內(nèi)存,不可能相等)
對(duì)于引用類型,==比較的是兩個(gè)指向的虛地址是不是相同(在堆中的位置)
Equals在沒有重寫的前提下也是比較內(nèi)存地址
String和Integer類中,因?yàn)橹貙懥薊quals,所以比較的是值
實(shí)際中可以自己重寫equals方法來比較值
比較String類型的內(nèi)容用equals,比較String類型的引用地址用==,除此之外沒有重寫的equals都是比較地址的,比較字符串是用equals 因?yàn)镾tring類型的數(shù)據(jù)在棧中存放的是引用地址,string比較特殊,它內(nèi)部處理不一樣
“”==“”? 比較的是地址是否相同,equals比較的是內(nèi)容是否相同。
舉報(bào)
Java中你必須懂得常用技能,不容錯(cuò)過的精彩,快來加入吧
5 回答為什么用equals比較是false
4 回答為什么老師重寫的equals方法中name需要用equals()進(jìn)行比較而不用==?
5 回答為什么這里不能用==比較
4 回答course2用equals比較為什么出來的是false?
1 回答6-1老師說為什么name需要用equals()進(jìn)行比較
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2019-08-02
在基本類型中,“==”比較的是兩者的值
在引用類型中,“==”比較的是兩者的內(nèi)存地址,及是否為同一個(gè)對(duì)象
equals比較兩者的內(nèi)存地址,及是否同一個(gè)對(duì)象,但在String類中自動(dòng)重寫,比較是兩者的值是否相等
如果此處用“==”,比較的是內(nèi)存地址,用equals比較的是兩者的值,因此用equals
2018-08-28
String類型中的equals方法是重寫過的,并不是直接比對(duì)地址是否相同。
name為String類型,比較的時(shí)候自然需要使用equals,而“==”比對(duì)的話,String類型會(huì)有很多情況是無(wú)法正常比對(duì)的,因?yàn)椤?=”比對(duì)的是地址,而String類型的產(chǎn)生和賦值都有可能內(nèi)容一致,但是為不同的對(duì)象。
2018-05-13
java中的==和equals
對(duì)于基本數(shù)據(jù)類型==號(hào)只是比較值是否相同(因?yàn)榛緮?shù)據(jù)類型都有自己的內(nèi)存,不可能相等)
對(duì)于引用類型,==比較的是兩個(gè)指向的虛地址是不是相同(在堆中的位置)
Equals在沒有重寫的前提下也是比較內(nèi)存地址
String和Integer類中,因?yàn)橹貙懥薊quals,所以比較的是值
實(shí)際中可以自己重寫equals方法來比較值
2018-03-30
比較String類型的內(nèi)容用equals,比較String類型的引用地址用==,除此之外沒有重寫的equals都是比較地址的,比較字符串是用equals 因?yàn)镾tring類型的數(shù)據(jù)在棧中存放的是引用地址,string比較特殊,它內(nèi)部處理不一樣
2018-03-27
“”==“”? 比較的是地址是否相同,equals比較的是內(nèi)容是否相同。