Arrays的拷贝CopyOf();
把一个就数组拷贝到一个新的数组中。
public class ArrayDemo { public static void main(String[] args) { int[] arr1 = {1, 2, 3, 4, 5}; int[] arr2 = Arrays.copyOf(arr1, 5); int[] arr3 = Arrays.copyOf(arr1, 10); for(int i = 0; i < arr2.length; i++) System.out.print(arr2[i] + " "); System.out.println(); for(int i = 0; i < arr3.length; i++) System.out.print(arr3[i] + " "); } }
运行结果
1 2 3 4 5 1 2 3 4 5 0 0 0 0 0
底层方法是
@SuppressWarnings("unchecked") public static <T> T[] copyOf(T[] original, int newLength) { return (T[]) copyOf(original, newLength, original.getClass()); } @SuppressWarnings("unchecked") public static <T> T[] copyOf(T[] original, int newLength) { return (T[]) copyOf(original, newLength, original.getClass()); } public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);