[英]Null pointer exception error using a 2d object array
I am having a problem. 我遇到了问题。 I have a class called Space. 我有一个名为Space的课程。 private spaceColour colour; 私人空间色彩;
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;
}
} }
Using Space, I create a 2d array of this object, in this method 使用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);
}
}
}
}
The three in a row method basically adds on spaces with a particular colour. 连续三种方法基本上添加了具有特定颜色的空间。
I'm getting a Null pointer exception at line 252 as indicated. 如图所示,我在第252行得到Null指针异常。 I really don't understand why, any help would be appreciated. 我真的不明白为什么,任何帮助将不胜感激。
you've instantiated the array, but not the objects. 你已经实例化了数组,但没有实例化对象。
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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.