Java nullPointerException 对象上带有 getter 和 setter

标签 java nullpointerexception

我在下面收到一个 nullPointerException。有人可以解释为什么吗?谢谢!

private SpatialPooler spatialPooler;
private Region        region;
private Column        column33;


public void setUp()
{
    this.spatialPooler = new SpatialPooler();

    this.region = new Region(30, 40, 6, 8, 1.0f, 1, 1);

    this.column33 = this.region.getColumn(3, 3);
}

public void addActiveColumn(Column activeColumn)
{
    this.activeColumns.add(activeColumn); // nullPointerException here!
}

public Column getActiveColumn(int x, int y)
{
    for (Column activeColumn : this.activeColumns)
    {
        if (activeColumn.getX() == x && activeColumn.getY() == y)
        {
            return activeColumn;
        }
    }
    return null;
}

// in a test class that is in the same package.
public void testGetAndAddActiveColumn()
{
    this.spatialPooler.addActiveColumn(this.column33);
    assertNull(this.spatialPooler.getActiveColumn(3, 3));

    this.column33.setActiveState(true);
    assertEquals(this.column33, this.spatialPooler.getActiveColumn(3, 3));
}

最佳答案

您的代码没有显示 activeColumns 在任何地方被初始化。

如果它是 Column 对象的列表,您应该将此代码放在某处:

List<Column> activeColumns = new ArrayList<Column>();

您可以将其放入构造函数中,或者在声明 activeColumns 时使用上面的代码

关于Java nullPointerException 对象上带有 getter 和 setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13328649/

相关文章:

java - "AWT-EventQueue-0"java.lang.NullPointerException 中的异常

java - 我的编码中出现空指针异常问题

java - fragment 中的 AutoCompleteTextView 获取 NullPointerException

java - TestNG 自动化框架在本地单独运行测试

java - Gerrit 加载失败 "Starting Gerrit Code Review: FAILED"日志中没有错误

java - 无法使用此类数据类型创建 Oracle 函数

java - 无法序列化

java - selenium cucumber JUnit 框架中的空指针异常

java - 从 JMS 监听器 onMessage() 提交时,批处理作业卡在 STARTING

java - 什么是NullPointerException,我该如何解决?