java数组名之间的复制

有以下4种方法:
(1)可以使用循环完成数组间的复制;

(2)使用 Object 的 clone 方法,在数组中覆盖了 object 的 clone 方法,该方法的作用是得到数组对象的一个副本。

(3)使用 System 类中的静态方法 arraycopy,arraycopy 的语法如下:

arraycopy(sourceArray,srcpos,targetArray,tarpos,length);

sourceArray 为被拷贝的数组;
srcpos 为起始位置,第一个元素为 0;
targetArray 为目标数组;
tarpos 为复制到目标数组的起始位置;
length 为复制的长度。

(4)一个简单的赋值语句并不能完成数组复制工作,在 Java 中,可以使用赋值语句复制基本类型的变量却不能复制对象,如数组。将一个对象赋值给另一个对象,只会使两个对象指向相同的内存地址。

实例:

public class Demo13_2 {
	public void output(String arrayName, int temp[]) {
		int i;
		for(i = 0; i < temp.length; i++){
			System.out.println(arrayName + "[" + i +"] = " + temp[i]);
		}
	}
	
	public static void main(String[] args){
		int source[]={1,2};
		int i;
		String arrayName;
		Demo13_2 a = new Demo13_2();//实例化a
		
		//使用循环复制数组
		int dest1[] = new int[2];
		for(i = 0; i < source.length; i++){
			dest1[i] = source[i];
		}
		arrayName = "dest1";
		a.output(arrayName, dest1);
		
		//使用clone方法
		int dest2[]=(int[])source.clone();
		arrayName = "dest2";
		a.output(arrayName, dest2);
		
		//使用System类中的静态方法arraycopy
		int dest3[] = new int[2];
		System.arraycopy(source, 0, dest3, 0, 2);
		arrayName = "dest3";
		a.output(arrayName, dest3);
		}
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值