今天阅读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;
*/
这个例子说明了当将一个数组赋值给另外一个数组时,其实只是复制了一个引用,这两个引用均指向同一个数组,通过任一个引用都可以对数组进行修改,并且所做的修改在另一个引用中可以看到。