数组扩容的三种方式 System.out.println(arr.length); //方式一 直接手动创建一个数组,进行赋值 int[] arr2 = new int[arr.length*2]; for (int i = 0; i < arr.length; i++) { arr2[i] = arr[i]; } for (int i = 0; i < arr2.length; i++) { System.out.println(arr2[i]); //数组初始化时int值为0 } System.out.println(arr2.length); //方法2:copyOf底层还是调用了System.arraycopy() System.out.println("---------------"); int[]arr3 = Arrays.copyOf(arr,arr.length*2); for (int i = 0; i < arr3.length; i++) { System.out.println(arr3[i]); } //方法3 System.out.println("---------------"); int[] arr4 = new int[arr.length*2]; // System.arraycopy(原数组名,起始下标,新数组名,起始下标,复制长度); System.arraycopy(arr,0,arr4,1,2); for (int i = 0; i < arr4.length; i++) { System.out.println(arr4[i]); }