Arrays类的copyOf()方法与copyOfRange()方法可以实现对数组的复制。copyOf()是复制数组至指定长度,copyOfRange()方法将指定数组的指定长度复制到一个新的数组中。
(1)、copyOf()方法:
语法:copyOf(arr, newlength)
arr:要进行复制的数组对象
newlength:int型常量,指复制后新数组的长度。如果新数组长度大于数组arr的长度,则用0或null来填充;如果复制后的数组长度小于数组arr的长度,则会从数组的第一个元素开始截取至满足数组长度为止。
import java.util.Arrays;//导入java.util.Arrays类
public class Cope {//创建类
public static void main(String[] args){
int arr[] = new int[]{23,42,12};//定义数组
int newarr[] = Arrays.copyOf(arr, 2);//复制数组arr
for(int i = 0; i<newarr.length;i++){
System.out.println(newarr[i]);
}
}
}
(2)、copyOfRange()方法:
语法:copyOfRange(arr, int formIndex, int toIndex)
arr:要进行复制的数组对象
formIndex:指定开始复制数组的索引位置。formIndex必须在0至整个数组的长度之间。新数组包括索引是formIndex的元素。
toIndex:要复制范围的最后索引位置。可大于数组arr的长度。新数组不包括索引是toIndex的元素。
import java.util.Arrays;//导入java.util.Arrays
public class Repeat {
public static void main(String[] args){
int arr[] = new int[]{23, 42, 12, 84, 10};//定义数组
int newarr[] = Arrays.copyOfRange(arr, 1, 4);//复制数组
for(int i = 0; i < newarr.length; i++){//循环遍历复制后的新数组
System.out.println(newarr[i]);
}
}
}