1. for循环
代码灵活,效率较低
2.System.arraycopy()
native方法,即原生态方法。效率较高。
3.Arrays.copyOf()
基于System.arraycopy(),效率略低于System.arraycopy()
4.Object.clone()
native方法,但是返回为Object类型,赋值时发生强制转化,效率不如前面几种方法
使用实例:
public class Arrays_Copy {
// 数组之间复制的几种方法
public static void main(String[] args){
int[] nums1 = new int[]{1,2,3,4,5};
int len = nums1.length;
int[] nums2 = new int[len];
// 1.for循环
for(int i=0;i<nums1.length;i++){
nums2[i] = nums1[i];
}
show(nums2);
// 2.System.arraycopy()
int[] nums3 = new int[len];
System.arraycopy(nums1,0,nums3,0,len);
show(nums3);
// 3.Arrays.copyOf()
int[] nums4 = new int[len];
nums4 = Arrays.copyOf(nums1,len);
show(nums4);
// 4.Object.clone()
int[] nums5 = new int[len];
nums5 = nums4.clone();
show(nums5);
}
public static void show(int[] nums){
for(int i=0;i<nums.length;i++){
System.out.print(nums[i] + " ");
}
System.out.println();
}
}