Android:java.lang.NullPointerException错误
我刚刚开始安卓系统的开发,所以如果这个问题有点基本,请原谅我。我已经在中执行了以下代码。Blue J在运行它时似乎没有任何问题,但Android Studio给了我这个java.lang.NullPointerException错误。我知道是什么导致了这个错误,但在我的代码中似乎没有调用任何空对象的成员:Android:java.lang.NullPointerException错误,java,android,Java,Android,我刚刚开始安卓系统的开发,所以如果这个问题有点基本,请原谅我。我已经在中执行了以下代码。Blue J在运行它时似乎没有任何问题,但Android Studio给了我这个java.lang.NullPointerException错误。我知道是什么导致了这个错误,但在我的代码中似乎没有调用任何空对象的成员: public enum Seed { EMPTY, CROSS, NOUGHT } public class Cell { Seed content;
public enum Seed {
EMPTY,
CROSS,
NOUGHT
}
public class Cell {
Seed content;
Cell()
{
content = Seed.EMPTY;
}
}
public class Board {
Cell[][] cells;
Board()
{
cells = new Cell[3][3];
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
cells[i][j].content = Seed.EMPTY;
}
}
public class MyActivity extends Activity {
Board board;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
board = new Board();
}
}
这里有一个多维空指针数组。
在使用数组之前,您需要实例化数组的内容:
Board()
{
cells = new Cell[3][3];
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
cells[i][j] = new Cell()
cells[i][j].content = Seed.EMPTY;
}
如果你知道什么样的错误是NPE,为什么不只给我们相关的行,包括你得到NPE的行?错误发生在Board构造函数中
Board()
{
cells = new Cell[3][3];
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
cells[i][j] = new Cell()
cells[i][j].content = Seed.EMPTY;
}