日期:2014-05-20  浏览次数:20715 次

【求助】java数组的问题
    
    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];就没有用了。