4.4数组操作与数组封装类Arrays使用初尝试
(1)System.arraycopy:数组元素拷贝
方法原型:public static native arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
;
作用是从src数组的srcPos位置往dest数组的destPos位置拷贝length个元素。
当然,数组拷贝位置或元素数量不当时,可能会出现ArrayIndexOutOfBoundException
异常;类型不匹配时,会出现ArrayStoreException
.(以上摘自教科书原文)
-
上述方法原型中的
src
指源数组;srcPos
指源数组要起始的位置(即下标);dest
指目的数组;destPos
指目的数组放置拷贝元素起始的位置(即下标);length
指复制的长度。 -
其出现的
ArrayIndexOutOfBoundException
异常显示:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x5E7NQt5-1647765985654)(D:\错误收集\error.jpg)]
例题:
现给出两个数组:
数组 a:1,2,3,4,5,6,7,8
数组 b:2,3,4,5,5,7
将两个数组合并为数组c.
代码:
public class Connection{
public static void main(String[] args){
int[] a={1,2,3,4,5,6,7,8};
int[] b={2,3,4,5,5,7};
int[] c=new int[14];//定义一个新数组,用来存储结果
System.arraycopy(a,0,c,0,a.length);//运用System.arraycopy,即数组元素拷贝,将数组a中元素拷贝至数组c中
System.arraycopy(b,0,c,8,b.length);//原理同上,将数组b中元素拷贝至数组c中
for(int i=0;i<c.length;i++){
System.out.print(c[i]+" ");
}}}