动态调整数组长度时遇到点问题
今天在练习动态调整数组长度时遇到点问题,不明白的地方都用红色标注了,请大家帮忙解释下,我先谢谢了代码如下:
public class ChangeArrayLength {
public static void main(String[] args) {
Integer[] ary = new Integer[10];
for(int i=0;i<10;i++){
ary[i] = new Integer(i);
}
ary[0] = new Integer(15);//为什么此处不能改变数组ary的值
for(int i=0;i<ary.length;i++){
System.out.print(i + " ");
}
System.out.println();
Integer[] newArray = ChangeArrayLength.increase(ary);
newArray[10] = new Integer(11);
for(int i=0;i<newArray.length;i++){
System.out.print(i + " ");
}
}
public static Integer[] increase(Integer[] src){
return increase(src,6);
}
public static Integer[] increase(Integer[] src,int length){
if(src == null){
return null;
}
Integer[] result = new Integer[src.length + length];
System.arraycopy(src,0,result,0,2);//此处为什么要复制src的所有项,而不是只复制前两项
return result;
}
}