对数组的复制方式有四种:
- for
- clone
- System.arraycopy()
- arrays.copyof
❣️一:本篇是了解System.arraycopy()
System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制。其函数原型是:
public static native void arraycopy(
Object src,
int srcPos,
Object dest,
int destPos,
int length);
* @param src the source array. 源数组
* @param srcPos starting position in the source array. 源数组的起始位置
* @param dest the destination array. 目标数组
* @param destPos starting position in the destination data. 目标数组的起始位置
* @param length the number of array elements to be copied. 复制的长度
简单应用,举个例子:
将array数组复制到新的数组中
int[] array = {1, 2, 3, 4, 5};
int[] targetArr = new int[array.length];
System.arraycopy(array,0,targetArr,0,array.length);
二:System.arraycopy()的几个特点:
- 浅复制
- 线程不安全
- 高效