Arrays.copyOf的实现

it2022-05-05  126

1.问题描述 这个方法实现的功能是把一个数组里的内容拷贝到另一个数组,并且返回这个数组,分两种情况,如果原数组的长度比目标数组的长度长,则拷贝至与目标数组长度一样的原数组处,相反的,就把原数组的内容拷贝到目标数组,其他置为默认值。 2.实现思路: 要实现 该功能就要分成两种情况去解决,注意:这里拷贝的长度只能是短数组的长度,不然会造成溢出。 有两个分支,判断原数组比目标数组长还是短,然后各自的不同情况使用一个循环去实现。 现在就来看如何具体实现。

public static int[] copyOf(int[] original,int newLength){ int [] a=new int[newLength]; if(newLength<=original.length) { for(int i=0;i<newLength;i++) { a[i]=original[i]; } } else { int j=0; for(j=0;j<original.length;j++) { a[j]=original[j]; } while(j<newLength) { a[j]=0; j++; } } return a; }

最新回复(0)