[問題] 請教有關類別型態的陣列問題
小弟最近自修JAVA時,
看到書上寫說可以用Arrays.copyOf()來實現陣列複製,
在對於複製基本型態時此為深層複製,也就是說彼此的改變不會互相影響,
但對於類別型態的複製就是淺層複製,複製出來的陣列仍會指向原來的物件。
我就照書上的程式範例測試了一下,發現確實如此,
可是當我用在Integer上時,卻變成深層複製了(我本來的理解是Integer是物件,
所以應該是淺層複製),以下是我的測試程式碼:
Integer [] a = {1, 2};
Integer [] b = Arrays.copyOf(a, 2);
b[0] = 10;
for(Integer i:a){
System.out.println(i);
}
輸出是:
1
2
不知道是我對於Integer的認知錯誤,還是有其他的解釋,
希望各位高手可以指點個方向,替小弟解惑。
感謝各位高手花時間看這篇文章,謝謝。
--
如果這個世界有神,
祂必定不賞善罰惡,也沒有任何道德觀,
祂只保證有生必有死,曾經經歷出生的生命,必以死亡做終結。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.70.152.243
※ 文章網址: http://www.ptt.cc/bbs/java/M.1420565463.A.21E.html
→
01/07 11:10, , 1F
01/07 11:10, 1F
→
01/07 11:10, , 2F
01/07 11:10, 2F
→
01/07 11:50, , 3F
01/07 11:50, 3F
→
01/07 11:56, , 4F
01/07 11:56, 4F
→
01/07 11:56, , 5F
01/07 11:56, 5F
→
01/07 11:56, , 6F
01/07 11:56, 6F
→
01/07 11:57, , 7F
01/07 11:57, 7F
→
01/07 19:24, , 8F
01/07 19:24, 8F
→
01/07 19:25, , 9F
01/07 19:25, 9F
→
01/07 19:26, , 10F
01/07 19:26, 10F
java 近期熱門文章
PTT數位生活區 即時熱門文章