我遇到了问题。我有一个名为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指针异常。我真的不明白为什么,任何帮助都会受到赞赏。
答案 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);