System.arraycopy和Arrays.copyof的用法和联系及其区别
A.**用法**
·:
- System.arraycopy(src,srcPos,dest,destPos, length);
分别对应的是(你想要复制的数组 , 复制数组元素的起始位置 , 复制到哪一个数组 , 复制的元素放置的起始位置,复制的长度)
注意:以上的要传入的int类型参数都不是下标值,例如int [] a={1,2,3};若要完全复制则length的值应该为3,起始值为零范围是(0,3] - Arrays.copyof(你想要复制的数组,复制的长度即元素个数)
- 注意:若长度大于要复制的数组的长度则多余的值都会用零代替。
此外它的工具中还有Arrays.copyofRange方法将指定数组的指定范围复制到新数组中。
B.联系:
都可以复制一个指定长度的数组元素
C.区别:System.arraycopy用法可以将俩个数组整合到一个数组中,
Arrays.copyof这个方法却做不到,原因是它的底层是返回一个新数组。
斜体样式
int[] sum = new int[nums1.length + nums2.length];
System.arraycopy(nums1, 0, sum, 0, nums1.length);
System.arraycopy(nums2, 0, sum, nums1.length, nums2.length);