要将一个数组中的内容复制到另外一个数组中,需要将数组的每个元素复制到另外一个数组中。
在程序中经常需要复制一个数组或数组的一部分。这种情况,你可能会尝试使用复制语句(=)
list2=list1
该语句并不能将list1引用的数组内容复制给list2,而只是将list1的引用值复制给list2,在使用这条语句后,list1和list2都指向同一个数组,list2原先所引用的数组不能被引用,会被Jvm垃圾回收。
正确的复制数组有三种方法:
1.使用循环语句逐个复制数组的元素
int[] sourceArray = {2,3,1,5,10};
int[] targetArray = new int[sourceArray.length];
for (int i = 0; i < sourceArray.length; i++) {
targetArray[i] = sourceArray[i];
}
2.使用System类中的静态方法arraycopy
System.arraycopy(sourceArray,srcPos ,targetArray ,tarPos ,length );