Java将对象添加到列表中

时间:2014-04-17 16:44:50

标签: java list object

我目前正在使用以下代码

小组类

static List<Shoots> bullets;

public Panel() {

    bullets = new ArrayList<>();

    setBorder(BorderFactory.createLineBorder(Color.black));
}

另一个班级

Panel.bullets.add(new Shoots(1, Panel.headx, Panel.heady));

class Shoots {

    private int speed;

    private int x;

    private int y;

    public Shoots(int speed, int x, int y) {

        this.speed = speed;
        this.x = x;
        this.y = y;

        getX();

    }

    public int getX() {

        return this.x;
    }
}

然后当我尝试System.out.println(Panel.bullets);我得到了

[]

我怎样才能以正确的方式做到这一点?

2 个答案:

答案 0 :(得分:0)

bullets arraylist为空,即零元素。这就是为什么你得到那个输出。 此外,您的列表是静态的,您每次都在构造函数中分配值。这将创建一个新的arraylist,并在每次创建对象时将其分配给bullets变量。此外,您没有在列表中添加任何内容。

答案 1 :(得分:0)

您在使用之前是否在项目符号列表中添加了任何内容每次在构造函数中初始化它。所以Panel类的每个新对象都会初始化它并做空。所以在课堂级别创建和初始化。即。

static List<Shoots> bullets= new ArrayList<>();