【问题标题】:Java, multiple instances of an class resets with latest created instanceJava,一个类的多个实例使用最新创建的实例重置
【发布时间】:2012-04-22 18:15:10
【问题描述】:

我得到了一个带有我创建的类的链接列表,但是每次我向列表中添加一个新实例时,列表中的所有其他元素都会获得相同的数据。

这是我列表中的课程。

public class ZitEntity 
{
private int mSize;
public boolean poped;
private boolean done;
private Canvas can;
private int count;
private  static Vector2D mPosition;
private int ms;
private Bitmap Zit;

public ZitEntity(int a, int b)
{
    mSize = 20;
    poped = false;
    done = true;
    ms = 3;
    mPosition = new Vector2D(a,b);
    Zit = Bitmap.createBitmap(mSize*2, mSize*2, Bitmap.Config.ARGB_8888);
}

在第二节课中,我创建了一个列表。

private LinkedList<ZitEntity> entityList;

并在构造函数中启动列表。

entityList = new LinkedList<ZitEntity>();

这里是我在列表中添加一个新实例的地方:

private void createEntity()
{
    Random generator = new Random();
    int a = generator.nextInt(10);
    if(a==5)
    {   
        int x = generator.nextInt(ZitGame.height-60)+20;
        int y = generator.nextInt(ZitGame.width-120)+20;
        entityList.add(new ZitEntity(x,y));
        Log.v("add entity", "new entity");
    }
}

【问题讨论】:

    标签: java android list linked-list


    【解决方案1】:

    您将 mPosition 声明为静态,因此每次您都会获得每个项目的最新位置

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-01
      • 1970-01-01
      相关资源
      最近更新 更多