数组元素的拷贝
需求
从指定远数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
即:原数组中位置在srcPos到srcPos+length-1之间的元素被分别复制到目标数组中的
destPos到desPos+length-1的位置。
代码实现
/*
srcArr: 原数组
srcPos: 从原数组中的哪一个索引开始拷贝
desArr: 目标数组
desPos: 在目标索引中的哪一个位置开始粘贴
length: 拷贝原数组的元素个数
*/
public static void arrayCopy(int[] srcArr, int srcPos, int[] desArr, int desPos, int length){
if (srcPos < 0 || desPos < 0 || length > srcArr.length )
{
return ;// 不合理
}
for (int i = 0; i < length ;i++ )
{
desArr[desPos+i] = srcArr[srcPos+i] ;
}
}
但是以上代码存在以下问题:
- 只能拷贝int类型数组;
- 代码不够健壮;
因此: