使用2d对象数组的空指针异常错误

时间:2013-12-12 17:22:09

标签: java arrays object 2d

我遇到了问题。我有一个名为Space的课程。 私人空间色彩;

public class Space {

public enum spaceColour{
    Black, White, Null;
}

private spaceColour colour;

public Space (spaceColour colour)
{
    this.setColour(colour);
}

public spaceColour getColour() {
    return colour;
}

public void setColour(spaceColour colour) {
    this.colour = colour;
}

}

使用Space,我在这个方法中创建了这个对象的二维数组

public void testMethods()
  {
   Space[][] test = new Space[2][2];
LINE:252   test[0][0].setColour(spaceColour.Black);
   test[0][1].setColour(spaceColour.Black);
   test[1][0].setColour(spaceColour.Black);
   test[1][1].setColour(spaceColour.Black);

   ThreeinaRow(test);

   for(int row= 0; row<test.length;row++)
   {
       for(int column = 0; column<test.length;column++)
       {
           if (test[row][column].getColour().equals(spaceColour.White))
           {
               System.out.println("Whites at row:" + row + "Column: "+ column);
           }
       }
   }
 }

连续三种方法基本上添加了具有特定颜色的空格。

如图所示,我在第252行得到Null指针异常。我真的不明白为什么,任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

你已经实例化了数组,但没有实例化对象。

test[0][0] = new Space();
test[0][0].setColour(spaceColour.Black);
test[0][1] = new Space();
test[0][1].setColour(spaceColour.Black);
test[1][0] = new Space();
test[1][0].setColour(spaceColour.Black);
test[1][1] = new Space();
test[1][1].setColour(spaceColour.Black);