方法介绍:
从指定的源数组中复制一个数组,从指定位置开始,到目标数组的指定位置。
@FastNative
public static native void arraycopy(Object src, int srcPos,
Object dest, int destPos,
int length);
这个方法的五个参数的具体所代码的含义:
- src:源数组,就是要复制的数组。
- srcPos:源数组中的起始位置,就是要复制数组中具体的片段,全部复制自然是从零开始
- dest:目标数组,要把源数组具体复制到哪个数组中。
- destPos:目标数据中的起始位置,把源数组复制到目标数据中的位置。
- length:要复制的数组元素的数量,如果全部要复制就是源数组arr.length
合并数组就用到了,这个方法,大家可以体会一下:
//合并数组
public static byte[] byteMerger(byte[] bt1, byte[] bt2) {
byte[] bt3 = new byte[bt1.length + bt2.length];
System.arraycopy(bt1, 0, bt3, 0, bt1.length);
System.arraycopy(bt2, 0, bt3, bt1.length, bt2.length);
return bt3;
}
具体实例,加深理解
public static void main(String[] args) {
int[] array1 = {1, 2, 3, 4, 5};
int[] array2 = {5, 6, 7, 8, 9};
//把array2数组复制到array1中
System.arraycopy(array2, 0, array1, 1, 4);
System.out.println(Arrays.toString(array1));
}
输出结果:
有不当之处,可以在评论区指出,共同进步~



