將一個陣列賦值給另外一個陣列

牛奶戀上咖啡發表於2016-08-25

  今天閱讀java程式設計思想,看到這樣一個例子:


</pre><pre name="code" class="java">public class ArrayOfPrimitives{
	public static void main(String[] args) {
		int[] a1 = {1,2,3,4,5};
		int[] a2;		
		a2 = a1;
		for(int i = 0; i < a2.length; i++)
			a2[i] = a2[i] + 1;
		for(int i = 0; i < a1.length; i++)
			print("a1[" + i + "] = " + a1[i]);
	}
}/*Output:
a1[0] = 2;
a1[1] = 3;
a1[2] = 4;
a1[3] = 5;
a1[4] = 6;
*/


這個例子說明了當將一個陣列賦值給另外一個陣列時,其實只是複製了一個引用,這兩個引用均指向同一個陣列,通過任一個引用都可以對陣列進行修改,並且所做的修改在另一個引用中可以看到。

相關文章