【Java】数组拷贝的几种方法及效率比较

一、for 循环

int[] array = {1, 2, 3, 4, 5, 6};
int[] array2 = new int[array.length];
for (int i = 0; i < array.length; i++) {
    array2[i] = array[i];
}

二、静态方法 Arrays.copyof()

int[] array = {1, 2, 3, 4, 5, 6};
int[] array2 = Arrays.copyOf(array, array.length);

三、静态方法 System.arraycopy()

int[] array = {1, 2, 3, 4, 5, 6};
int[] array2 = new int[array.length];
System.arraycopy(array, 0, array2, 0, array.length);

四、数组对象 clone() 方法

int[] array = {1, 2, 3, 4, 5, 6};
int[] array2 = array.clone();

效率对比

数组复制效率的比较

关于引用类型数组

对于引用类型数组来说,上面四种数组拷贝方式都是浅拷贝,因为数组元素存放的只是指向对象的指针,要想实现深拷贝可以通过序列化后再反序列化实现。

参考

java 数组的四种拷贝方式

【Java】数组拷贝的几种方法及效率比较

上一篇:1Java入门


下一篇:dedecms织梦手机端伪静态