arraylist上的NullPointerExceptions

时间:2014-03-06 05:40:20

标签: java exception arraylist null nullpointerexception

我正在尝试用Java制作蛇式游戏。

为此,我使用列表来保持每个蛇的身体部位

ArrayList<SnakeBodyPart> snakeBodyParts = new ArrayList<SnakeBodyPart>();

我声明并启动变量SnakeBodyPart SnakeBodyPart = null;

然后我用snakeBodyParts.add(SnakeBodyPart);将一个身体部位添加到蛇身上。

(不是最有效的方式,我猜,但它必须这样做。)

但出于某种原因,每当我运行脚本时,我都会

Exception in thread "main" java.lang.NullPointerException

并且错误是

at game.Snake.<init>(Snake.java:60)

在Java控制台中。

我想知道问题所在。这是SnakeBodyPart的代码。

class SnakeBodyPart{
    int x,y,direction;
    void move(){
        if(direction == 0){
            y -= 50;
        }
        if(direction == 1){
            x += 50;
        }
        if(direction == 2){
            y += 50;
        }
        if(direction == 3){
            x -= 50;
        }
    }
}

提前致谢!

修改

第60行是snakeBodyParts.get(0).direction = 0;

1 个答案:

答案 0 :(得分:1)

你做到了:

  SnakeBodyPart snakeBodyPart = null;

创建对象

  SnakeBodyPart snakeBodyPart = new SnakeBodyPart();

由于snakeBodyPartnull,您在NullPointerException中获得了Line 60。您在get()上调用null方法snakeBodyParts.get(0).direction = 0;