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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

有關(guān)練習(xí)中s3,s4的以及equals()方法的使用

String s1 = "imooc";

String s2 = "imooc";

String s3= "I love "+ s1;?

String s4 = "I love " + s1;

代碼中的定義,并沒有用到new,不應(yīng)該同s1,s2的理解(多次出現(xiàn)的字符常量,編譯器程序只創(chuàng)建一個(gè))一樣么?s3,s4為什么是指向的不同單元?。?/p>


因(s3==s4)比較的是s3和s4引用所指向的內(nèi)存單元的地址,如需比較s3,s4的值重寫equals()方法??墒菫槭裁淳幾g器不允許重寫?提示:此類中沒有非靜態(tài)字段,不能重寫equals()。這是為什么啊?


謝謝。


正在回答

4 回答

不需要重寫equals,因?yàn)镾tring類里面已經(jīng)幫我們寫好了比較內(nèi)容的equals,你直接調(diào)用就可以了

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

一旦一個(gè)字符串在內(nèi)存中創(chuàng)建,則這個(gè)字符串將不可改變。

多次出現(xiàn)的字符常量,編譯器程序只創(chuàng)建一個(gè)

注意這里是常量哦

String?s1?=?"imooc";
String?s2?=?"imooc";
//String?s3?=?"I?love?"?+?s1;
//String?s4?=?"I?love?"?+?s1;

String?s3?=?"I?love?"?+?s1;
s1?=?"Mary";
String?s4?=?"I?love?"?+?s1;

通過 String s3="I love"+s1; ,其實(shí)質(zhì)是根據(jù)s1創(chuàng)建了字符串對(duì)象,變量 s3 指向了創(chuàng)建的字符串對(duì)象。

通過 String s4="I love"+s1; ,其實(shí)質(zhì)是根據(jù)s1創(chuàng)建了新的字符串對(duì)象,變量 s4 指向了新創(chuàng)建的字符串對(duì)象。

這是兩個(gè)不同的對(duì)象 上面的代碼 幫助理解一下


此類中沒有非靜態(tài)字段,不能重寫equals()。

上次碰到這個(gè)問題 是在主方法里進(jìn)行調(diào)試的時(shí)候 main()方法是static修飾的 靜態(tài)方法中 不能直接訪問非靜態(tài)成員變量和方法 只可直接訪問靜態(tài)變量和方法 所以出現(xiàn)這個(gè)問題 加個(gè)就好了

希望有所幫助

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

不相同是應(yīng)該的,相同才是因?yàn)槎啻蝺?yōu)化的結(jié)果。我這里編譯器允許重寫equals啊。

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

在我的代碼中,定義S3中l(wèi)ove后面是沒加空格的,s4有,所以會(huì)指向不同的單元,你可以去在確認(rèn)以下,運(yùn)行一下。在重寫equals()時(shí) ,提示非靜態(tài)字段可以在重寫方法中加入靜態(tài)關(guān)鍵字,或者嘗試下在方法前加入一個(gè)@override,希望對(duì)你有幫助

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

舉報(bào)

0/150
提交
取消
Java入門第三季
  • 參與學(xué)習(xí)       409768    人
  • 解答問題       4510    個(gè)

Java中你必須懂得常用技能,不容錯(cuò)過的精彩,快來加入吧

進(jìn)入課程

有關(guān)練習(xí)中s3,s4的以及equals()方法的使用

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

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

幫助反饋 APP下載

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

公眾號(hào)

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