作者qrtt1 (愚人)
看板java
标题Re: [问题] 初学者的问题
时间Tue Jan 23 16:55:29 2007
※ 引述《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