Posted on 2006-04-03 18:48
哎諍 閱讀(486)
評論(0) 編輯 收藏 所屬分類:
java基礎
????? 在java中,賦值和clone的區別,相信java程序員都知道,就是對于前者,被賦值的變量指向的是內存中的同一塊地址,而對于后者,則是為clone的變量分配一塊新的內存,也就是指向一個新的對象。
????? 基于此,很容易得出一個結論,就是對于被賦值的變量,如果改變該變量指向的對象,則賦值的變量,也會指向這個新的對象。但是java中有定義了很多類型,這些類型的對象一旦創建,即為只讀,也就是不滿足上面的結論,最常見的例子就是String類型,譬如如下代碼:
String s1="aa";
String s2="aaaa";
s2=s1;
s1="aabb";
System.out.println(s1);
System.out.println(s2);
結果將是:
aabb
aa
而不是想象中的:
aabb
aabb