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