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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Java入門(mén)第三季,2-2,我用equals()方法來(lái)測(cè)驗(yàn)左邊知識(shí)點(diǎn)代碼時(shí)的疑問(wèn)?

Java入門(mén)第三季,2-2,我用equals()方法來(lái)測(cè)驗(yàn)左邊知識(shí)點(diǎn)代碼時(shí)的疑問(wèn)?

Java_Hello_World 2016-03-20 21:08:14
代碼如圖,用equals()方法比較s1,s2,s3,s4,結(jié)果都是相等,沒(méi)有重寫(xiě)的equals()比較的不是內(nèi)存地址嗎?應(yīng)該和==一樣才對(duì)啊? public?class?Test?{ public?static?void?main(String[]?args)?{ //?TODO?Auto-generated?method?stub String?s1="imooc"; String?s2="imooc"; String?s3=new?String("imooc"); String?s4=new?String("imooc"); System.out.println(s1==s2); System.out.println(s1==s3); System.out.println(s3==s4); if(s1.equals(s3)){ System.out.println("equal."); }else{ System.out.println("not?equal."); } s1="Welcome?to?"+s1; System.out.println(s1); } }并且,當(dāng)我想重寫(xiě)equals()方法的時(shí)候,eclipse提示說(shuō)不能重寫(xiě),這又是為什么呢?
查看完整描述

5 回答

已采納
?
haooooo

TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超3個(gè)贊

1.Object類(lèi)里面,equal方法默認(rèn)是比較內(nèi)存地址。Object源碼:

?public?boolean?equals(Object?obj)?{
????????return?(this?==?obj);
????}

String類(lèi)里面重寫(xiě)了equals方法,比較的是字符串的值。因此值一樣就返回true。

2.String類(lèi)是final類(lèi)型的,不能繼承,不能重寫(xiě)。不能重寫(xiě)的并不是equals方法,而是String這個(gè)類(lèi)本身就不能被繼承

public?final?class?String

查看完整回答
3 反對(duì) 回復(fù) 2016-03-20
  • Java_Hello_World
    Java_Hello_World
    謝謝,忙了一陣,沒(méi)上來(lái)學(xué)習(xí)。 雖然還不能完全弄懂你說(shuō)的,不過(guò)已經(jīng)知道自己的問(wèn)題所在了。
?
36925814

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超1個(gè)贊

String類(lèi) ?內(nèi)部已經(jīng)重寫(xiě)了equals()方法,因而提示不能重寫(xiě)

查看完整回答
1 反對(duì) 回復(fù) 2016-03-21
?
rookie2maven

TA貢獻(xiàn)278條經(jīng)驗(yàn) 獲得超76個(gè)贊

String?為final類(lèi)型無(wú)法繼承所以無(wú)法重寫(xiě)。


查看完整回答
反對(duì) 回復(fù) 2016-03-23
?
妖精づ凱文

TA貢獻(xiàn)5條經(jīng)驗(yàn) 獲得超0個(gè)贊

String類(lèi) ?內(nèi)部已經(jīng)重寫(xiě)了equals()方法,因而提示不能重寫(xiě),只要兩個(gè)字符串的字符內(nèi)容相同,就返回true,不必關(guān)心內(nèi)存地址。而==就要保證內(nèi)存地址也得一樣。

查看完整回答
反對(duì) 回復(fù) 2016-03-20
?
qq電子時(shí)代

TA貢獻(xiàn)5條經(jīng)驗(yàn) 獲得超2個(gè)贊

String?s2="imooc"; ? ? ? 與? ? ? ? String?s3=new?String("imooc");

這兩個(gè)是不一樣的,new 的存在就是分配地址用的,而后一種是放在常量池中的

你一下次再用這種方法去創(chuàng)建的時(shí)候,就會(huì)去常量池里面找,所以

String?s1="imooc"; ? 與? ? ? ? String?s2="imooc";

這兩個(gè)是相同的,指向常量池中的"imooc"

String?s3=new?String("imooc"); ? ?與 ? ?String?s4=new?String("imooc");

這兩個(gè)是不同的地址,盡管他們的內(nèi)容是一樣的。
就像有兩個(gè)人,他們的名字都是imooc,但是并不是一個(gè)人。

查看完整回答
反對(duì) 回復(fù) 2016-03-21
  • 5 回答
  • 0 關(guān)注
  • 1626 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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