arraylist存入的是对象还是引用呢??

arraylist可以说是java编程过程中经常会使用到的一个容器,可是其中存放的究竟是对象的引用还是对象本身呢??为了弄清楚这个问题,我写了以下这个小程序

import java.util.ArrayList;

public class fsd {
	public static void main(String args[]) {
		a A=new a();
		ArrayList<a> b=new ArrayList<a>();
		A.setA(0);
		A.setB(1);
		b.add(A);
		A.setA(3);
		A.setB(4);
		System.out.println(b.get(0));
	}
}
class a{
	int a,b;

	public int getA() {
		return a;
	}

	public void setA(int a) {
		this.a = a;
	}

	public int getB() {
		return b;
	}

	public void setB(int b) {
		this.b = b;
	}

	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return "a "+a+" b "+b;
	}
	
}

  输出的结果不是"a 0 b 1"而是"a 3 b 4",这样问题就很明显了,arraylist中存入的是对象的引用而不是对象本身

  


posted on 2012-02-04 14:54  No.47  阅读(1019)  评论(0编辑  收藏  举报

导航