浅谈Java中复制数组的方式
在Java里面,可以用复制语句”A=B”给基本类型的数据传递值,但是如果A,B是两个同类型的数组,复制就相当于将一个数组变量的引用传递给另一个数组;如果一个数组发生改变,那么引用同一数组的变量也要发生改变。
举例:
int[]src={1,3,5,6,7,8}; int[]dest=newint[6]; for(inti=0;i<6;i++)dest[i]=src[i];
2.使用clone
int[]src={1,3,5,6,7,8}; int[]dest; dest=(int[])src.clone();//使用clone创建
副本,注意clone要使用强制转换
int[]src={1,3,5,6,7,8}; int[]dest=newint[6]; System.arraycopy(src,0,dest,0,6);
System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制。
src:源数组;;srcPos:源数组要复制的起始位置;
注意:srcanddest都必须是同类型或者可以进行转换类型的数组。有趣的是这个函数可以实现自己到自己复制,比如:
int[]fun={0,1,2,3,4,5,6}; System.arraycopy(fun,0,fun,3,3);
则结果为:{0,1,2,0,1,2,6};
以上介绍的就是Java语言中数组的几种复制方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!