可能重复:
对象类和数组-为什么它返回"null"?[java]
其他标题相似的问题都有答案,它们的数据需要初始化,我已经这样做了,但我仍然得到一个空指针异常。有人能告诉我为什么吗?
public class grid{
private Node [][] board = new Node [9][9];
public boolean add(int x, int y, char label) {
boolean valid=true;
System.out.println("enter add");
if(label==' '){
System.out.println("enter if 1");
board[x][y].setValue('0');
}
else if(label<='9'&&label>'0'){
System.out.println("enter if 2");
board[x][y].setValue(label);
}
else{
valid=false;
}
if(valid)
System.out.println("valid");
return valid;
}
我在setValue行(10和14(上得到错误
public class Node{
public char value;
public char [] possibleValues = {1,2,3,4,5,6,7,8,9};
public boolean correct=false;
}
编辑:我想明白了,如果其他人也有同样的问题,这似乎可以解决它。
if(label==' '){
System.out.println("enter if 1");
board[x][y]= new Node(' ');
}
else if(label<='9'&&label>'0'){
System.out.println("enter if 2");
board[x][y]= new Node(label);
}
数组不会初始化数组的元素。因此,每个board[x][y]
最初将是null
。