System.arraycopy()的用法?
1.使用方法
public void arr(Object arr1, int x, Object arr2, int y, int length)
arr1 : 源数组;
x: 需要从源数组要复制的数据的起始位置, 从源数组复制数么,规定从第几位开始;
arr2:需要copy到的数组;
y:将copy 到的数据放在arr2中么,规定放在arr2数组中的具体位置;
length:复制的长度,就是从arr1源数组中,copy几个数据过来。
列子
arr1 = {1,2,3,4,5};
arr2 ={5,6,7,8,9,10,11};
System.arraycopy(arr1, 2, arr2, 1,3); 从 arr1中copy数据,从arr1中下标为2开始 就是 arr1中的 3 开始,
length =3 ,就是从arr1中截取3个长度。 就是 3, 4 ,5 。
规定的位置是1 就是arr2数组中下标为1的地方开始
arr2 = {5,3,4,5,8,9,10};
2.注意事项!
注意! copy的过程中,不能超过这两个数组的本身长度。 数组中的数据不能为负数。
此功能要求
源的起始位置+长度不能超过末尾
目标起始位置+长度不能超过末尾
且所有的参数不能为负数