亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Java 中字符串的不變性

?public?class?HelloWorld?{
????public?static?void?main(String[]?args)?{
??String?s1?=?"imooc";
??String?s2?=?"imooc";
????????
????????//定義字符串s3,保存“I?love”和s1拼接后的內容
???String?s3?="I?love"+s1;
??//String?s3?=?new?String("imooc");//這個方法好像也可以執行呀!但是我不知道為什么可以,求解?
????????//?比較字符串s1和s2
??//?imooc為常量字符串,多次出現時會被編譯器優化,只創建一個對象
??System.out.println("s1和s2內存地址相同嗎?"?+?(s1?==?s2));
????????
????????//比較字符串s1和s3
??System.out.println("s1和s3內存地址相同嗎?"?+?(s1?==?s3));
??String?s4?=?"I?love?"?+?s1;
?????????//比較字符串s4和s3
??//?s1是變量,s4在運行時才知道具體值,所以s3和s4是不同的對象
??System.out.println("s3和s4內存地址相同嗎?"?+?(s4?==?s3));
?}
}

?

正在回答

4 回答

你沒有按照他S3的要求來,方法是對的。

0 回復 有任何疑惑可以回復我~

肯定可以執行啊,結果也是一樣的,因為s1和s3、s3和s4的內存地址是不同,返回也是false。==是比較左右兩邊的內存地址,而方法equal(),才是比較值。

0 回復 有任何疑惑可以回復我~

上一節的東西你再看下。

0 回復 有任何疑惑可以回復我~

...........

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409767    人
  • 解答問題       4543    個

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

進入課程

Java 中字符串的不變性

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號