Re: [問題] 初學者的問題

看板java作者 (愚人)時間19年前 (2007/01/23 16:55), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串8/9 (看更多)
※ 引述《Nt1 (用功點吧!)》之銘言: : 特例: : String str = "abc" ; : 他也不用 new 就可以用,但 String 卻是個物件,why ? : 因為設計java的人讓我們偷懶可以少打點字,所以那一行在 compile 的時候會被自動 : 轉換成 : String str = new String("abc"); : 有錯請指正^^ 呵,還差一點就正確了 String assign operator 會把 String 放進 String Pool 之中。 不會等於 new String("abc") ----> 這個在 heap 之中。 public class StringPoolTEst { public static void main(String[] args){ String a ="string in pool"; String b ="string in pool"; System.out.println("a==b: "+ (a==b)); System.out.println("a equals to b: "+a.equals(b)); String c = new String("string in pool"); System.out.println("a==c :" + (a==c)); System.out.println("a equals to c: "+a.equals(c)); } } a==b: true a equals to b: true a==c :false a equals to c: true -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.26.34.20
文章代碼(AID): #15jSs2io (java)
討論串 (同標題文章)
文章代碼(AID): #15jSs2io (java)