java - 2D Stack 实现,得到 NullPointerException
问题描述
我尝试像这样实现 2D Stack
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>();
}
}
推荐阅读
- python - 将 Linkedin 学习视频源导出为 .txt 文件
- adsense - 在我的公开直播网站上设置 Google Adsense
- youtube-api - 每 100 秒的 youtube 配额限制
- javascript - 如何将样式属性删除到段落内的其他标签并仅保留一个样式
- spring-boot - Springboot 验证在 Kotlin 中不起作用
- python - 如何在 python 中从一组具有序列化命名的变量创建列表
- python - 在任何地方运行 python 脚本
- c++ - 将成对向量插入 unordered_map 时 C++ 缺少元素
- flutter - Flutter GridView.builder 不可滚动
- c++ - 转换返回值时的 RVO