TestArray2
1.System.arrayCopy
格式:
public static void arraycopy(@NotNull Object src,//原数组 int srcPos //原数组的起始位置 @NotNull Object dest // 目标数组 int destPos // 目标数组的起始位置 int length ) //要复制的长度
//copy arr1数组下标的1-3的元素到arr2 int[] arr1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int[] arr2 = new int[5]; System.arraycopy(arr1, 1, arr2, 1, 3);
-
当目标数组的长度小于要copy的长度?
提示错误
-
当目标数组的长度大于要copy的长度?
会用默认值填充
-
当改变目标数组元素时,原数组元素会不会发生改变?
不会,copy后的元素时新内存空间,不会和原数组共用
-
当目标数组和原数组为同一个数组时?
队员数组进行覆盖
2.Arrays.copy
格式:类型[] 数组名 = Arrays.copyOf(原数组,长度);
int[] arr10 = {1,2,3,4,5,6,7,8,9,10}; int[] arr11 =Arrays.copyOf(arr10,6);//把数组arr10的前6个元素复制到arr11
-
当复制的长度小于原数组则截取
-
当复制的长度大于原数组的则扩容