我正在初始化一个Object(Bateau),其中包含一个名为elements的对象数组(Element)。
在调用构造函数时,我想为“bateau”对象创建几个元素。
元素的数量取决于它的“bateau”类型,因为“Bateau”有3个子类,它们决定了要初始化的元素的数量。
当我尝试向元素添加新元素时,我会获得NPE,有人可以帮我解决此问题吗?
public class Bateau {
private boolean horizontal = false;
protected Element[] elements;
public Bateau(int pX, int pY, boolean horizontal, int nombreElements) {
this.horizontal = horizontal;
for (int i = 0; i < nombreElements; i++) {
if (this.horizontal) {
//NullPointerException elements[i] not initialized ?
this.elements[i] = new Element((pX + i), pY);
} else {
this.elements[i] = new Element(pX, (pY + i));
}
}
}}
答案 0 :(得分:4)
在调试器中,您将能够看到
Element[] elements = null;
我建议你用
初始化它elements = new Element[nombreElements];