Я пытаюсь добавить объект типа Car
в массив автомобилей, У меня нет конкретного индекса в массиве, что я хочу машину, чтобы ехать в , Я просто хочу добавить автомобиль к первому пустому и доступному индексу, у которого нет уже объекта автомобиля. Вот мой код:Проверьте массив по заданному индексу NULL возвращает NullPointerException
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();
}
На , если оператор внутри для цикла я получаю в NullPointerException
.. как я могу преодолеть это?
Ваши переменные 'cars', вероятно, являются нулевыми в момент вызова if-блока. Ваша ошибка присутствует, но, вероятно, в другом месте вашего кода. Вы уверены, что не скрываете переменную автомобиля? То, что инициализируется переменная, является тем же самым, который читается? –
Вы могли бы опубликовать трассировку стека? – Math
На воздушной подушке вы можете написать свой ответ в качестве ответа. То, что вы сказали, заставило меня понять, что я пропустил инициализацию в вызываемом конструкторе. :) – Ciwan