public static native void arraycopy(Object src, int srcPos,
Object dest, int destPos,
int length);
src: 源数组; srcPos: 源数组要复制的起始位置; dest: 目的数组; destPos: 目的数组放置的起始位置; length: 复制的长度。
注意:"src " and "dest" 都必须是同类型或者可以进行转换类型的数组
这个函数可以实现自己到自己复制:ArrayList源码中,add的时候,拷贝之前的数组,到新的数组
System.arraycopy(elementData, index, elementData, index + 1,
size - index);
实现过程:生成一个长度为length的临时数组,将src数组中srcPos
到srcPos+length-1之间的数据拷贝到临时数组中,再执行System.arraycopy(elementData源数组, 1 ,elementData目的数组, 1 + 1 ,size - 1);