Java中数组复制的4种方法

标签: java基础


在Java中,我们经常需要复制一个数组,以下介绍几种数组复制方法。

1. for循环复制

最简单直观的方法,循环访问当前数组的每一个元素,并复制到新数组的相应下标。

int [] oldArray = {1, 2, 3};
int [] newArray = new int[oldArray.length];
for(int i = 0; i < oldArray.length; i++){
    newArray[i] = oldArray[i];
}

2. System.arraycopy方法

这个方法是一个native方法,效率较高。

int [] oldArray = {1, 2, 3};
int [] newArray = new int[oldArray.length];
System.arraycopy(oldArray, 0, newArray, 0, oldArray.length);

3. Arrays.copyOf方法

这个方法底层也是调用了System.arraycopy方法,只是接口更加清晰和规范了。

// import java.util.Arrays;
int [] oldArray = {1, 2, 3};
int [] newArray = Arrays.copyOf(oldArray, oldArray.length);

4. Object的clone方法

也是native方法,直接内存复制,效率也高。但是clone返回的是Object对象,需要自动强制转换,效率比上两种低。

int [] oldArray = {1, 2, 3};
int [] newArray = oldArray.clone();
原文地址:https://www.cnblogs.com/banyu/p/6746975.html