java实现数组复制的几种方法
在Java中,数组间的赋值仅仅是数组首地址的复制;要想真正做到创建新的相同值的数组有4种方法:
一、将数组元素逐个复制到目标数组中
//源数组
int[] source = {10,30,20,40};
//目标数组
int[] target = new int[source.length];
for (int i = 0;i < source.length;i++){
target[i] = source[i];
}
二、System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
三、Object.clone()
完整的复制该数组;
四、Arrays.copyOf(T[] original, int newLength)和Arrays.copyOfRange(T[] original, int from, int to)
1、copyOf()方法格式
以整型为例
如果newLength小于源数组的长度,则将源数组的前面若干个元素复制到目标数组。
如果newLength大于源数组的长度,则将源数组的所有元素复制到目标数组。
如:
2.copyOfRange()方法格式
以字符型为例
如:
上述代码执行后,letter数组的长度变为4,包含'b'、'c'、‘d’、'e'4个元素