java - 数组列表上的 NullPointerExceptions

标签 java exception arraylist null nullpointerexception

我正在尝试用Java制作一个蛇类游戏。

为此,我使用列表来保存蛇的每个 body 部位

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

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

然后,我使用 snakeBodyParts.add(SnakeBodyPart); 向蛇添加 body 部位。 。

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

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

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; .

最佳答案

您已完成此操作:

  SnakeBodyPart snakeBodyPart = null;

创建对象

  SnakeBodyPart snakeBodyPart = new SnakeBodyPart();

由于 snakeBodyPartnull,因此您将在 第 60 行 中收到 NullPointerException。您正在 null 上调用 get() 方法作为 snakeBodyParts.get(0).direction = 0;

关于java - 数组列表上的 NullPointerExceptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22215957/

相关文章:

java - 使用 "ImageIO.write()"API 调用我得到 NullPointerException

python - 使用 couchdb 进行 urllib2 异常处理

java - 获取数组列表的中位数长度

java - 如何使用 Hibernate 将 `null` 值插入数据库?

java - jar 中的类什么时候进入 PermGen

java - 从反射调用的方法传播 RuntimeException

java - 尝试在 Java 中使用自定义比较器时出错

java - 在java中使用ArrayList.get()出现NullPointerException

java - 如何在调整框架大小时自动居中 JFrame 中使用的组件?

c# - 创建带有捕获异常信息的 Windows 窗体?