java语言基础——实现int类型数组元素拷贝

来源:互联网 发布:淘宝图标图片 编辑:程序博客网 时间:2024/06/07 19:40

代码原理解释:

从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束,从src引用的源数组到dest引用的目标数组,数组组件的一个子序列被复制下来,被复制的组件的编号等于length参数。源数组中位置srcPossrcPos+length-1之间的组件被分别复制到目标数组中的destPosedestPose+length-1位置。

//数组元素拷贝class ArrayCopeDemo{public static void main(String[] args){int[] src=new int[]{1,2,3,4,5,6,7,8,9,10}//源数组int[] dest=new int[10];//目标数组为{0,0,0,0,0,3,4,5,6,0}//需求:从src数组中拷贝3,4,5,6元素到dest数组中printArray(dest);copy(src,dest,4,2,5);printArray(dest);}static void copy(int[] src,int[] dest,int length,int srcPos,int destPos){//index表示每次需要拷贝元素的序列for(int index=srcPose;index<srcPose+length;index++){dest[destPos]=src[index];destPos++;}}static void printArray(int[] arr) {if(arr==null) {System.out.println("null");return;}String ret="[";for(int index=0;index<arr.length;index++) {ret+=arr[index];//如果当前index不是最后一个索引,则拼接“,”if(index!=arr.length-1) {ret=ret+",";}} ret=ret+"]"; System.out.println(ret);}}

代码存在的问题:

[1]只能拷贝int类型的数组

[2]代码不够健壮,数据都需要重新检查, length, srcPos,destPos这些值都应该大于等于零,srcPose+length的值不能够超过目标数组的长度。

原创粉丝点击