arraycopy
arraycopy
是System提供的native
静态方法,方法原型如下;
public static native void arraycopy(Object arg, int arg0, Object arg1, int arg2, int arg3);
参数arg:源数组对象
arg0:源数组的起始位置
arg1:目标数组对象
arg2:目标数组的起始位置
arg3:要复制的元素数量
copyOf
Arrays
类中存在着copyOf
的很多种实现方式,在进行数组的复制过程中,我们只需要调用其中一种即可,调用方式如下;
Arrays.copyOf(elementData, size);
参数elementData:源数组对象
size:目标数组的长度
来看一下copyOf的源码,如下;
首先,创建了一个和源数组元素相同类型的新数组;
接着调用了System.arraycopy函数,并且在arraycopy函数最后一个参数(要复制的元素数量)取了设置的size值和源数组长度两者的最小值;
最后返回了新数组。