Static ArrayList始终替换旧值

时间:2017-04-02 10:09:36

标签: java android variables methods static

我有一个类,我声明一个静态变量id

class id
{
  private static int id;
  public int getid()
 {
  return this.id
 }
public void setid(int id)
 {
    this.id=id;
 }
}

我有另一个类,我在其中创建此类的对象并调用这些方法

class abc
{
    id obj=new id();
      int a=obj.getid();
    obj.setid(a+1);

}

现在我将它存储到另一个类中的静态ArrayList

class ser
{
  private static ArrayList<id>al=new ArrayList<id>();

  public static addid(id obj)
 {
   al.add(obj);
 }
}

现在的问题是,每当我将对象添加到列表中时它会替换该对象有什么错误请帮忙

1 个答案:

答案 0 :(得分:0)

所有对象id对于变量id都具有相同的值,因为它是类的静态成员。因此,当您向列表中添加类ID的多个实例时,所有实例都具有相同的id值。您确定要变量id是静态的吗?