标签: 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();