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值和源數組長度兩者的最小值;
最後傳回了新數組。