JAVA - 对象无法添加到对象数组 - NullPointerException

标签 java arrays object nullpointerexception

我正在初始化一个对象(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));

        }
    }
}}

最佳答案

在你的调试器中你将能够看到

Element[] elements = null;

我建议你初始化它

elements = new Element[nombreElements];

关于JAVA - 对象无法添加到对象数组 - NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28240310/

相关文章:

javascript - 在一个对象中返回两个不同的返回值

javascript - 在LiveCycle中,对象名称以#开头是什么意思?

java - Java中32位和64位系统中对象大小的差异

java - 了解 Java 线程、监视器等......

Java模式以保持集合中数据索引的一致性

C 字符串数组到函数

c - 如何在C中用0填充数组

java - 递归实现基数排序 - 如何打印末尾的元素?

java - Map.Entry.<Integer, Integer>comparingByValue() 中 <Integer,Integer> 的重要性是什么

java - 为什么cql查询时间很长