Re: [問題] 初學者的問題
※ 引述《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
討論串 (同標題文章)