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;
}
}

解决方案 »

  1.   

    不一样的
    而且你应该用b.get(0), b.get(1)
      

  2.   

    Tea  tea=new  Tea();  
    ArrayList  b  =  new  ArrayList();  
    tea.setA(2);  
    b.add(tea);  
    tea.setA(5);  
    b.add(tea);  
     
    这样后  b.get(0),  b.get(1)  一样  怎么解决使得他们不一样??  
    Tea 类  
    class  Tea{  
               private  int  a;  
     
               public  int  getA()  {  
                           return  a;  
               }  
     
               public  void  setA(int  a)  {  
                           this.a  =  a;  
               }  
    } 修改下掉b.get(1),  b.get(2) ;
      

  3.   

    声明两个对象
    Tea  tea=new  Tea(); 
    Tea  tea1=new  Tea();  
    ArrayList  b  =  new  ArrayList();  
    tea.setA(2);  
    b.add(tea);  
    tea1.setA(5);  
    b.add(tea1); 
    就可以了
      

  4.   

    问题是我要在一个循环里要不断的添加Tea对象
    个数也不知道的.
    So>>这是不行的
      

  5.   

    每加一次,重新建一个Tea()对象
      

  6.   

    看了真是无语呢,这样的问题
    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++中的指针来解说更容易理解一些
      

  7.   

    在ArrayList中存对象,存的是他们的引用.
    象你那样做只是在把同一个引用存到ArrayList里,
    所以得到的是一样的内容
      

  8.   

    Tea tea = null;
        ArrayList b = new ArrayList();
        for (int i = 0; i < 10; i++) {
         tea = new Tea();
            tea.setA(i);
            b.add(tea);
        }
    要想保存着那一次的值,我们只要重新给它开发一块内存空间.只有一块内存空间的话,每次SET值的时候,前一次的值会被覆盖掉.
      

  9.   

    问题解决了 ..奇怪原来 是这样.
    tea=new Tea();
    tea=new Tea();
    tea=new Tea();
    tea=new Tea();
    这样不会出错 ..
      

  10.   

    理解了
    重新建对象给tea嘛 不过我是这样
       b.add(new Tea(...));一样OK
      

  11.   

    你添加的是同一个对象的引用,所以add的都是同一个对象,里面
    的内容是最后一个set的值
    所以每次应该重新new一个对象才对
      

  12.   

    -》wuhaozhiyuan(飘)
     讲得不错 ,呵呵