JAVA 的 String 是不可改變的
JAVA 程式碼
//作者:骷骷
//網誌:http://bekachu.pixnet.net/blog
public class test {
public static void main(String[] args) {
String a="test";
String b=a;
System.out.println(a==b);
a+="a";
System.out.println(a==b);
b+="a";
System.out.println(a==b);
System.out.println(a);
System.out.println(b);
System.out.println("=====");
Integer i=123;
Integer j=i;
System.out.println(i==j);
i+=4;
System.out.println(i==j);
j+=4;
System.out.println(i==j);
System.out.println(i);
System.out.println(j);
System.out.println("=====");
i=123;
j=i;
System.out.println(i==j);
i+=5;
System.out.println(i==j);
j+=5;
System.out.println(i==j);
System.out.println(i);
System.out.println(j);
}
}
/*輸出結果:
true
false
false
testa
testa
=====
true
false
true
127
127
=====
true
false
false
128
128
*/
==========
書上說實際上 String 的實體內容是不能改變的,
如果要改內容,實際上 JAVA 就會再 new 一個 String 實體出來,
然後再賦予更改後的內容,
然後骷骷就想測試 Integer 是不是也一樣,
結果竟然是不一定,
可能又牽扯到什麼底層的運作了,
書上又沒說,骷骷只能投降……。
文章標籤
全站熱搜
