如果门是空的,我正试图将一架飞机停在我阵列的一个门口.如果大门被占用,那么我将把飞机停在空置的大门上,就像在我的其他声明中所做的那样.当我运行我的测试器时,我在if语句的行上得到了一个java.lang.NullPointerException.我不知道为什么.任何建议表示赞赏.
public void parkPlane(Plane plane){
for (int i = 0; i < this.plane.length; ++i) {
if(this.plane[i].equals(null)){ //java.lang.NullPointerException pointing to this line.
plane.setGateNumber(i);
}
else{
plane.setGateNumber(getVacantGate());
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果为null,则调用equals它将引发异常.请==改用.
问题是如果对象为null,则它不会被初始化(即使它已被声明).调用任何方法null引发a NullPointerException.但是,==比较对象在内存中的位置; 如果它们存储在同一个地方,它们就是完全相同的对象.如果两个对象都是null,则认为它们都存储在同一个地方(无处),所以它们是相同的.
| 归档时间: |
|
| 查看次数: |
162 次 |
| 最近记录: |