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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是什么使引用比較(==)對Java中的某些字符串有效?

是什么使引用比較(==)對Java中的某些字符串有效?

海綿寶寶撒 2019-10-29 12:47:02
我有以下幾行代碼來比較String。str1不等于str2,這是可以理解的,因為它比較了對象引用。但是,為什么s1等于s2?String s1 = "abc";String s2 = "abc";String str1 = new String("abc");String str2 = new String("abc");if (s1==s2)    System.out.println("s1==s2");           else    System.out.println("s1!=s2");if (str1==str2)    System.out.println("str1==str2");           else    System.out.println("str1!=str2");if (s1==str1)    System.out.println("str1==s1");         else    System.out.println("str1!=s1");輸出:  s1==s2  str1!=str2  str1!=s1 
查看完整描述

3 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

s1和s2是字符串文字。創建新的String文字時,編譯器首先檢查String池中是否存在任何表示該文字的文字。如果存在,則編譯器返回該文字,否則編譯器將創建一個新的。

創建String時s2,編譯器s1將從池中返回String ,因為之前已經創建了它。這就是為什么s1s2相同的原因。這種行為稱為實習。


查看完整回答
反對 回復 2019-10-29
  • 3 回答
  • 0 關注
  • 411 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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