我有以下代码:
RoomCell r = b.GetRoomCellAt(1, 2);
assertTrue(r.isDoorway());
第二行由于空指针异常而失败,就像r尚未实例化一样。但是我将其设置为等于该方法所检索的单元格,因此显然它不是null。
为什么我可能会收到此错误?
最佳答案
您的完整堆栈跟踪信息是什么?为了确定以下哪个原因是必需的:
GetRoomCellAt可能找不到值并返回null
GetRoomCellAt的实现有可能访问空指针
isDoorway的实现有可能访问空指针
仅供参考,优良作法是使用@Nullable注释来注释参数和返回类型