我在java.lang.NullPointerException
行上获得cars.add(car);
并且我真的不确定如何解决它,我已经阅读了一些与此错误相关的其他线程,但答案仍然似乎有没有我。
public class RentalCompany {
private ArrayList<Car> cars;
private String description;
private int carDownPayment;
private int rate;
private int carNumber;
public void addCar(String descriptionOfTheCar, int downPayment,
int dailyRate) {
Car car = new Car(descriptionOfTheCar, downPayment, dailyRate);
cars.add(car);
}
}
如果有人可以提供任何建议,我将非常感激,提前谢谢。
答案 0 :(得分:7)
因为您尚未初始化private ArrayList<Car> cars
字段。懒惰,构造函数或方法本身。
private ArrayList<Car> cars = new ArrayList<Car>();
OR
public RentalCompany() {
this.cars = new ArrayList<Car>();
}
OR
public void addCar(String descriptionOfTheCar, int downPayment,
int dailyRate) {
this.cars = new ArrayList<Car>();
Car car = new Car(descriptionOfTheCar, downPayment, dailyRate);
cars.add(car);
}
我个人更喜欢构造函数方法。
答案 1 :(得分:5)
或者您可以使用:
public void addCar(String descriptionOfTheCar, int downPayment, int dailyRate)
{
if (cars == null)
cars = new ArrayList<>();
Car car = new Car(descriptionOfTheCar, downPayment, dailyRate);
cars.add(car);
}
假设其一个线程访问
答案 2 :(得分:3)
你没有开车。
private ArrayList<Car> cars = new ArrayList<Car>();
答案 3 :(得分:2)
初始列表:
private ArrayList<Car> cars = new ArrayList<Car>();
答案 4 :(得分:0)
cars
尚未初始化。
尝试将以下内容添加到构造函数中:
cars = new ArrayList<>();
在向其添加汽车之前。
答案 5 :(得分:0)
最初为cars == null
,因此请将其初始化为:
private ArrayList<Car> cars = new ArrayList<Car>();
答案 6 :(得分:0)
你的汽车没有初始化,这是空的。并且您尝试将Elements添加到此null arraylist。
你可以在使用前初始化它。
像
cars=new ArrayList<Car>();
Car car = new Car(descriptionOfTheCar, downPayment, dailyRate);
cars.add(car);
答案 7 :(得分:0)
看起来你没有初始化你的汽车ArrayList。
答案 8 :(得分:0)
没有看到调用addCar()的任何细节,我不能肯定地说,但两个最明显的可能性是String尚未初始化或者ArrayList尚未初始化。
答案 9 :(得分:0)
我假设您的大部分代码已被省略,但从此示例中您似乎尚未初始化ArrayList
。