数组拷贝System.arraycopy
数组拷贝
第一种方式:
package com.coding.demo.concurrent;
import java.util.Arrays;
/**
* 使用Arrays.copyOf()
*/
public class TestArraysCopyOf {
public static void main(String[] args) {
int[] src = {1,2,3,4,5,6,7,8,9};
int[] dest = Arrays.copyOf(src, src.length);
System.out.println(Arrays.toString(dest));
// output: [1, 2, 3, 4, 5, 6, 7, 8, 9]
}
}
第二种方式:
package com.coding.demo.concurrent;
import java.util.Arrays;
/**
* 使用System.arraycopy
*/
public class TestSystemArrayCopyOf {
public static void main(String[] args) {
int[] src = {1,2,3,4,5,6,7,8,9};
int[] dest = new int[10];
// * @param src the source array.原数组
// * @param srcPos starting position in the source array.从原数组的哪个位置进行拷贝,默认下标从0开始。
// * @param dest the destination array.目标数组
// * @param destPos starting position in the destination data.从目标数组的哪个位置开始存放
// * @param length the number of array elements to be copied.要拷贝多少个元素到新数组中,
// 如果新数组的长度10,但是我就从原来的数组中拿8个元素拷贝到新数组中,新数组剩余的两个位置将会用0来填补。
System.arraycopy(src,1, dest, 0, src.length - 1);
System.out.println(Arrays.toString(dest));
// output: [2, 3, 4, 5, 6, 7, 8, 9, 0, 0]
}
}java