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++)实现的文件中。

本文深入探讨了Java中数组拷贝的两种常见方式:使用copyOf方法和arraycopy方法。详细解释了copyOf如何创建新数组并调用arraycopy进行元素复制,同时介绍了arraycopy的native实现及其参数意义。
3345

被折叠的 条评论
为什么被折叠?



