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 是不是也一樣,

結果竟然是不一定,

可能又牽扯到什麼底層的運作了,

書上又沒說,骷骷只能投降……。

arrow
arrow
    文章標籤
    JAVA String
    全站熱搜
    創作者介紹
    創作者 骷骷 的頭像
    骷骷

    骷骷的筆記

    骷骷 發表在 痞客邦 留言(0) 人氣()