2D Stack 实现,获取 NullPointerException
2D Stack implementation, getting NullPointerException
我尝试像这样实现 2D 堆栈
private Stack<Char>[][] objectGrid = (Stack<Char>[][]) new Stack[width][height]
但是,当我尝试将元素压入堆栈时,我不断收到 NullPointerException
(objectGrid[x][y]).push(ch)
我检查了调试器,发现 objectGrid[x][y] 显示为 null,所以我无法对其进行推送。上面的初始化是否错误,我应该做一个for循环来初始化我的堆栈数组的第二个维度吗?
将初始化循环添加到您的代码中,如下所示:
for (int i = 0; i < width; i++) {
for (int j = 0; j < height; j++) {
objectGrid[i][j] = new Stack<Char>();
}
}
我尝试像这样实现 2D 堆栈
private Stack<Char>[][] objectGrid = (Stack<Char>[][]) new Stack[width][height]
但是,当我尝试将元素压入堆栈时,我不断收到 NullPointerException
(objectGrid[x][y]).push(ch)
我检查了调试器,发现 objectGrid[x][y] 显示为 null,所以我无法对其进行推送。上面的初始化是否错误,我应该做一个for循环来初始化我的堆栈数组的第二个维度吗?
将初始化循环添加到您的代码中,如下所示:
for (int i = 0; i < width; i++) {
for (int j = 0; j < height; j++) {
objectGrid[i][j] = new Stack<Char>();
}
}