这是一个比较奇怪的类,因为他不在Arrays里面,而是在·System里面

00011.7数组工具类:System.arraycopy方法的使用_java


这样就可以直观的看到这个类里面的所有方法

00011.7数组工具类:System.arraycopy方法的使用_System_02


00011.7数组工具类:System.arraycopy方法的使用_数组_03


native:看不到源代码,它不是用java语言实现的

00011.7数组工具类:System.arraycopy方法的使用_java_04


完整代码如下:

package com.atguigu.test06_Arrays;
import java.util.Arrays;

public class TestSystemArrayCopy {
public static void main(String[] args) {
//和数组有关的常用方法
//Copy
int[] array={1,5,3,7,2};
//不知道这个类是怎么回事,那就打开OpenType: Ctrl + Shift + T
//语法
/* public static native void arraycopy(Object src, int srcPos,Object dest, int destPos,int length);*/
/* * 第一个参数:src 原数组对象
* 第二个参数:srcPos 从原数组的[srcPos]下标开始复制
* 第三个参数:dest 目标数组对象
* 第四个参数:destPos 目标数组从[destPos]开始存储
* 第五个参数:length 表示从原数组复制几个元素
* 说明:如果src和dest是同一个数组的话,那么就会实现数组的元素的移动效果*/

/* * srcPos > destPos :往左移动 一般用于删除
* srcPos < destPos :往右移动 一般用于插入*/

String[]arr={"hello","world","java",null,null};
String[]arr1=new String[5];
//(1)用法1
//System.arraycopy(arr, 1, arr1, 0, 2);

//System.out.println(Arrays.toString(arr1));

//(2)用法2:实现删除arr[0]元素
//System.arraycopy(arr, 1, arr, 0, 2);
//System.out.println(Arrays.toString(arr));

//用法3://实现在“hello"和"world"中间插入"atguigu"
System.arraycopy(arr, 1,arr,2, 2);
arr[1]="atguigu";
System.out.println(Arrays.toString(arr));
}
}

总结:要多写,编程这个东西就跟学习游泳,学习开车一样,说得再说,学得再多理知识不自己动手实践是永远学不会的,在练习中去跟理论知识相结合