int a1[]={2,3,5};
int a2[]=new int[5];
a2=a1;
a2[3]=34;
System.out.print(a2[2]);//正确
System.out.print(a2[3]);//错误
谁能告诉下原因
Java
------解决方案--------------------
首先纠正一下,你的程序在第5行就会抛出异常。因为a2的长度只有3,最大只能是a2[2]。所以是不对的。
造成这种原因是因为:a2 = a1;这句话是把a1中存的内存的地址给了a2。实际效果是a2[] = {2,3,5}.所以在这里你的a2=new int[5];就没有用了。