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中存入的是对象的引用而不是对象本身
浙公网安备 33010602011771号