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) 人氣()