ArrayList存储
Tea tea=new Tea();
ArrayList b = new ArrayList();
tea.setA(2);
b.add(tea);
tea.setA(5);
b.add(tea);
这样后 b.get(1), b.get(2) 一样 怎么解决使得他们不一样??
Tea 类
class Tea{
private int a;
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
}
------解决方案--------------------不一样的
而且你应该用b.get(0), b.get(1)
------解决方案--------------------也是一样的
------解决方案--------------------声明两个对象
Tea tea=new Tea();
Tea tea1=new Tea();
ArrayList b = new ArrayList();
tea.setA(2);
b.add(tea);
tea1.setA(5);
b.add(tea1);
就可以了
------解决方案--------------------每加一次,重新建一个Tea()对象
------解决方案--------------------看了真是无语呢,这样的问题
Tea tea=new Tea();
ArrayList b = new ArrayList();
tea.setA(2);
b.add(tea);
tea.setA(5);
b.add(tea);
这样后 b.get(1), b.get(2) 一样 怎么解决使得他们不一样??
我靠这样出来肯定是同一内容了
b.get(0),b.get(1) 都是引用到一个实例中,而这个实A的值就是5 也许用C++中的指针来解说更容易理解一些