【问题标题】:Static ArrayList always Replacing the older values静态 ArrayList 总是替换旧值
【发布时间】:2017-08-27 06:52:20
【问题描述】:

我有一个类,我在其中声明了一个静态变量 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);
 }
}

现在的问题是每次我将对象添加到列表中时它都会替换对象是什么错误请帮助

【问题讨论】:

标签: java android variables methods static


【解决方案1】:

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

【讨论】:

  • 是的,因为我需要保留 id 的值,直到或除非程序正在运行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-10
  • 1970-01-01
  • 2017-04-20
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多