是对象复制,还是引用的传递

首先看代码:

import java.util.ArrayList;

/** 
 * @author ayi
 * @version 创建时间:Oct 8, 2008 1:10:01 PM 
 * 类说明 :测试对象添加到ArrayList容器中,是对象复制,还是引用的传递;以及在toArarry()又是怎么样。
 */

public class TestArarryCopy {
	
	public static void main(String args[]){
		
		Person p1=new Person();
		ArrayList<Person> vect=new ArrayList<Person>();
		Person[] pArarry;
		
		vect.add(p1);
		if(vect.get(0)==p1){
			System.out.println("对象添加到ArrayList容器中是引用的传递;");
		}else{
			System.out.println("对象添加到ArrayList容器中是对象的复制;");
		}
		
		pArarry=(Person[])vect.toArray(new Person[0]);
		if(pArarry[0]==p1){
			System.out.println(" 在toArray()中是引用的传递;");
		}else{
			System.out.println("在toArray()中是对象的复制;");
		}
	}
}

/**
 * 一个用来使用的对象
 * @author ayi
 *
 */
class Person {
	
}

 结果:对象添加到ArrayList容器中是引用的传递;在toArray()中也是引用的传递。在Vector中也是一样的。对于其它的,要判断是对象复制还是引用传递,都可以判断对象的引用是否相等来简单的判别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值