在为我的代码运行公开测试时,我在类似的行上收到了2个错误。错误是:
空指针异常错误及其出现的行是getCurrentLocation& getName在其中。
assertEquals(“最初,Parrade在Fun Fire”,“Fun Fire”,parrade.getCurrentLocation()。getName());
parrade.move();
我的构造函数的完整代码以及getCurrentLocation& getName如下:
public abstract class Ride {
private String name;
private int duration;
private int batchSize;
private ArrayList<Amuser> currentAmusers;
private int ridesToMaintain;
private FunRide location;
public Ride() {
this.name = "Serpent";
this.duration = 5;
this.batchSize = 20;
this.ridesToMaintain = 10;
this.currentAmusers = new ArrayList<Amuser>();
}
public Ride(String name, int duration, int batchSize) {
this.name = name;
this.duration = duration;
this.batchSize = batchSize;
this.ridesToMaintain = 10;
this.currentAmusers = new ArrayList<Amuser>();
}
public FunRide getCurrentLocation() {
return this.location;
}
知道如何解决这个问题吗?
答案 0 :(得分:0)
如果这是导致NullPointerException
assertEquals("Initially, Parrade is at Fun Fire", "Fun Fire", parrade
.getCurrentLocation().getName());
然后parrade
或parrade.getCurrentLocation()
等于null
或parrade.getCurrentLocation().getName()
投掷一个(后者似乎不太可能)。但由于此变量在您发布的代码中没有任何内容,我担心我们无法帮助您更多。
你必须已经拥有这样的东西(假设parrade
是罪魁祸首)
private Parade parrade = null;
或
private Parade parrade;
意味着你已经declared这个变量,但你还没有对它进行初始化。用以下内容初始化它:
parrade = new Parade();
答案 1 :(得分:0)
获取空指针的原因是因为永远不会设置位置或名称的值。声明所有实例变量时,它们最初为null,因此如果在实例化它们之前尝试使用它们,它将抛出空指针异常。