[NullPointerException,添加到已初始化的ArrayList时

问题描述 投票:0回答:1

[尝试将Block类的新实例添加到称为块的NullPointerException中时,我得到了ArrayList。>

这里是包含错误行的代码段:

public class Level1State extends GameState {

    private Player player;
    private ArrayList<Block> blocks;

    public Level1State(GameStateManager gsm) {
        super(gsm);
        this.blocks = new ArrayList<Block>();
    }

    @Override
    public void init() {
        player = new Player(30, 30);

        blocks.add(new Block(500, 400));
    }
    ...
}

Block类非常简单:

public class Block extends Rectangle {
    private static final long serialVersionUID = 1L;

    public static final int blockSize = 64;

    public Block(int x, int y) {
        setBounds(x,y,blockSize,blockSize);
    }

    public void tick() {

    }

    public void draw(Graphics g) {
        g.setColor(Color.DARK_GRAY);
        g.fillRect(x - (int) GameState.xOffset, y - (int) GameState.yOffset,
                width,
                height);
    }
}

感谢您的任何帮助。

当尝试将Block类的新实例添加到名为blocks的ArrayList时,我得到了NullPointerException。这是包含错误行的代码段:公共类Level1State ...

java arraylist nullpointerexception
1个回答
-1
投票

如@assylias所说。显然ArrayList尚未初始化,您正在尝试将其设置为该对象。可能在列表初始化之前使用了init吗?

© www.soinside.com 2019 - 2024. All rights reserved.