java 数组的初始化

1.java中可以将一个数组赋值给另一个数组:
public class ArraysOfPrimitives {
	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++)
		{
			System.out.println(a1[i]);
		}
	}/*Output:
           2
           3
           4
           5
           6*/
}

可以看到,a2 = a1 其实真正做到的只是复制了一个引用,a2只是a1的一个引用。
2.引用类型数组的初始化
引用类型数组的数组元素是引用,因此情况变得更加复杂:每个数组元素里存储还是引用,它指向另一块内存,这块内存里存储了有效数据。(这种数组本身就是一系列引用/指针的集合).
http://book.51cto.com/art/200809/89196.htm从这篇文中已经写得很详尽了,概括了引用类型数组初始化所有的问题。

你可能感兴趣的:(java)