java数组a复制到数组b-甲骑自行车从a地到b地,乙骑自行车从b地到a地
在Java中,可以使用复制语句“A=B”来传递基本类型数据的值,但是如果A和B是两个相同类型的数组,复制就相当于传递一个数组变量的引用给另一个数组; 如果数组发生变化,引用同一数组的变量也会发生变化。
以下是在归纳 java 中复制数组的方法:
(1)使用FOR循环复制数组的每个元素或复制指定元素,但效率较低
(2)用clone方法获取数组的值而不是引用java数组a复制到数组b,不能复制指定元素,不够灵活
(3)使用System.arraycopy(src, srcPos, dest, destPos, length)方法,推荐
例子:
1.使用FOR循环
int[] src={1,3,5,6,7,8};
int[] dest = new int[6];
for(int i=0;i2. 使用克隆
int[] src={1,3,5,6,7,8};
int[] 目标;
dest=(int[]) src.clone();//使用clone创建
复制,注意clone必须使用强制转换
3.使用System.arraycopy
int[] src={1,3,5,6,7,8};
int[] dest = new int[6];
系统。 arraycopy(src, 0, dest, 0, 6);
系统提供了一个静态方法arraycopy(),我们可以使用它来进行数组之间的复制。
其函数原型为:public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src:源数组;; srcPos:要复制的源数组的起始位置;
dest:目标数组; destPos:目标数组的起始位置;
length:副本的长度。
注意:src和dest必须是相同类型的数组或者可以转换的类型。 有意思的是这个函数可以实现自对自拷贝java数组a复制到数组b,比如:
int[] 乐趣 ={0,1,2,3,4,5,6};
System.arraycopy(fun,0,fun,3,3);
那么结果就是:{0,1,2,0,1,2,6};
以上介绍了Java语言中复制数组的几种方法。 希望对您有所帮助。 如果您有任何问题,请给我留言,小编会及时回复您。 非常感谢大家的支持!