package equality;
public class demo5 {
public static void main(String[] args){
int[] a1={1,2,3,4,5};
int[] a2;
a2=a1;//将a1的数组赋给a2两者指向同一个数组。
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+"]="+a1[i]);
}
}
}
a1[0]=2
a1[1]=3
a1[2]=4
a1[3]=5
a1[4]=6
可以看到代码中给出了a1的初始值,但a2没有;在本例中,a2是在后面被赋给了另一个数组的。由于a2和a1是相同数组的别名,因此通过a2所做的修改在a1中也可以看到。
这两种一个是基本类型数组会自动初始化,一个不是基本类型数组不会自动初始化。