Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:java.lang.NullPointerException错误_Java_Android - Fatal编程技术网

Android: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;

我刚刚开始安卓系统的开发,所以如果这个问题有点基本,请原谅我。我已经在中执行了以下代码。Blue J在运行它时似乎没有任何问题,但Android Studio给了我这个java.lang.NullPointerException错误。我知道是什么导致了这个错误,但在我的代码中似乎没有调用任何空对象的成员:

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;
}