2012年2月4日星期六

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中存入的是对象的引用而不是对象本身

  



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

TAG: