import java.util.Arrays; public class Test { public static void main(String[] args){ int[] a={1,2,3,4,5,6,7}; int[]s=new int[50]; System.arraycopy(a, 0,s, 0, a.length); System.out.println(s.length); } } 以上代码输出结果是:50,也就是说将数组a中的7个元素拷贝到s中时,数组s的长度还是定义时的50,这就说明System.arraycopy(原始数组,原始数组的起始位置,目标数组,目 标数组的起始位置,拷贝长度)方法只是将原始的数组中的一定长度的值拷贝了过来,不影响s数组的自身存储空间。 import java.util.Arrays; public class Test { public static void main(String[] args){ int[] a={1,2,3,4,5,6,7}; int[]s=new int[50]; s=Arrays.copyOf(a, a.length); System.out.println(s.length); } } 以上代码输出结果是:7,这说明使用Arrays.copyOf()这种方法进行数组拷贝是将原始数组的引用拷贝了过来