java - 检查特定索引处的数组是否为 NULL 返回 NullPointerException

标签 java if-statement nullpointerexception

我正在尝试将类型为 Car 的对象添加到汽车数组中,数组中没有我希望汽车进入的特定索引,我只想将汽车添加到第一个没有汽车对象的空可用索引。这是我的代码:

protected static final int MaxCars = 5;
protected Car[] cars = new Car[MaxCars];

public void addCar(Car c)
{
    for(int i = 0; i < MaxCars; i++)
    {
        if (cars[i] == null)
        {
            cars[i] = c;
            break;
        }
    }
    incrementNumInTeam();
}

在 for 循环内的 if 语句 中,我得到了一个 NullPointerException ..我该如何克服这个问题?

最佳答案

在调用 if block 时,您的变量 cars 可能为空。您的错误存在,但可能在代码的其他地方。检查以确保您没有隐藏 cars 变量,并且正在初始化的变量与正在读取的变量相同。

关于java - 检查特定索引处的数组是否为 NULL 返回 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19881866/

相关文章:

java - 未经检查的 cast Map <String, String> allPreferences

java - 正则表达式有助于仅计算字符串中的零

javascript - 如何对许多不同的条件和操作进行编程

java - 什么是NullPointerException,我该如何解决?

java - 内存计算器程序

c++ - constexpr if else 表达式中的 "Expected a statement"

c - 使用 if 语句与 #if 语句的区别

java - 插入二进制堆时出现 NullPointerException?

java - Eclipse NullPointerException 我似乎无法修复

java - 使用正则表达式查找括号中包含单个字符的单词