我只是开始了android开发,所以请原谅我这个问题是否有点基础。我在Blue J以及Android Studio中执行了以下代码。 Blue J似乎没有任何问题,但是Android Studio给了我" java.lang.NullPointerException" 错误。我知道应该导致此错误的原因,但我的代码中似乎没有调用任何 null 对象的成员:
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();
}
}
答案 0 :(得分:3)
cells = new Cell[3][3];
你有一个多维的空指针数组。 在使用它们之前,您需要实例化数组的内容:
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;
}