java中数组复制的两种方式

在java中数组复制有两种方式:

一:System.arraycopy(原数组,开始copy的下标,存放copy内容的数组,开始存放的下标,需要copy的长度);

  这个方法需要先创建一个空的存放copy内容的数组,再将原先数组得我内容复制到新数组中。

  

int[] arr = {1,2,3,4,5};  
   
int[] copied = new int[10];  
System.arraycopy(arr, 0, copied, 1, 5);//5 is the length to copy  
   
System.out.println(Arrays.toString(copied));  

二:Arrays.copyOf(原数组,copy后的数组长度);

  可用于扩容和缩容,不需要先创建一个数组,但实际上也是又创建了一个新得我数组,底层是调用了System.arraycopy()的方法;

  

int[] copied = Arrays.copyOf(arr, 10); //10 the the length of the new array  
System.out.println(Arrays.toString(copied));  
   
copied = Arrays.copyOf(arr, 3);  
System.out.println(Arrays.toString(copied));  

  

学如逆水行舟,不进则退
原文地址:https://www.cnblogs.com/anningkang/p/8463015.html