概述
- 数组的复制
可以把一个数组的变量赋值给另外一个数组,但是两个变量引用的都是同一个内存空间,因此,这种情况下,改变一个数组的值,另一个数组变量也会改变。例如:
public class Arraycopy{
public static void main (String [] args){
int [] num = {4,2,3,1,9,0};
int [] numcopy = num; //数组复制
numcopy [2] = 2; //新数组改值
for(int i = 0;i<numcopy.length;i++)
System.out.print(numcopy[i]+" ");
System.out.println();
for(int j = 0;j<num.length;j++)
System.out.print(num[j]+" ");
}
}
运行结果如图
如果确实需要将数组中的元素的值复制给另外一个元素,而又不想改变原数组的值,可以采用System类中的arrayCopy()方法,其格式如下:
System.arraycopy(src, srcPos, dest, destPos, length)
该方法可以将src源数组中从srcPos开始的连续length个元素复制到dest数组的从destPos开始位置,且src和dest数组指向不同的内存空间。
public class Arraycopy{
public static void main (String [] args){
int [] num = {4,2,3,1,9,0};
int [] numcopy = new int [6];
for(int i=0;i<num.length;i++)
System.out.print(num[i]+" ");
System.out.println();
//输出数组num
for(int j=0;j<num.length;j++)
System.out.print(numcopy[j]+" ");
System.out.println();
//输出数组numcopy
System.arraycopy(num,0,num,3,2);
for(int i=0;i<num.length;i++)
System.out.print(num[i]+" ");
System.out.println();
//自我复制,从位置0开始复制长度为2到位置3
//并输出
System.arraycopy(num,0,numcopy,3,2);
for(int j=0;j<num.length;j++)
System.out.print(numcopy[j]+" ");
System.out.println();
//复制到numcopy数组,从位置0开始复制长度为2到位置3
//并输出
}
}
运行结果如图
有错误或者不足希望大家指出
最后
以上就是魁梧时光为你收集整理的Java数组复制(拷贝)的全部内容,希望文章能够帮你解决Java数组复制(拷贝)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复