System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制。
其函数原型是:
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
注释
src:源数组;
srcPos:源数组要复制的起始位置;
dest:目的数组;
destPos:目的数组放置的起始位置;
length:复制的长度。
注意:src and dest都必须是同类型或者可以进行转换类型的数组.
测试:
/*
有以下数组:
int[] arr = {10,27,8,5,2,1,3,55,88};
请定义一个新数组,长度为5,并将arr中几个连续的1位数的数字复制到新数组。
*/
public static void main(String[] args) {
//定义数组
int[] arr = {10, 27, 8, 5, 2, 1, 3, 55, 88};
//定义一个长度为5的新数组用来接收
int[] arr1 = new int[5];
System.arraycopy(arr, 2, arr1, 0, 5);
for (int a : arr1) {
System.out.println(a);
}
System.out.println(Arrays.toString(arr1));