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 是不是也一樣,
結果竟然是不一定,
可能又牽扯到什麼底層的運作了,
書上又沒說,骷骷只能投降……。
文章標籤
全站熱搜