copyOf
我们首先看一下这一段代码
public static int[] copyOf(int[] original, int newLength) {
int[] copy = new int[newLength];
System.arraycopy(original, 0, copy, 0,
Math.min(original.length, newLength));
return copy;
}
合着闹半天底层还是调了arraycopy,这copyOf创了个新的数组,将原来的数组放到新的数组,并且是从0这个位置开始的。
arraycopy
public static native void arraycopy(Object src, int srcPos,
Object dest, int destPos,
int length);
其中方法中带有native。 native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中。