duk*_*vin 2 java nullpointerexception
这可能是一种寻求帮助的非常规方式,但我的代码遇到了空指针运行时错误,但运行时错误的范围太大而无法发布到stackoverflow.我真的想弄清楚这一点,所以我可以通过电子邮件向你们中的一个人发送我的代码来找出问题所在吗?我知道运行时错误告诉它正在绊倒的特定行号,但老实说,我不能做出正面或反面的原因.非常感谢你!!
堆栈跟踪:
java.lang.NullPointerException
at Maze.getNumRandOccupants(Maze.java:118)
at P4TestDriver.testMaze(P4TestDriver.java:995)
at P4TestDriver.main(P4TestDriver.java:116)
at __SHELL8.run(__SHELL8.java:7)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at bluej.runtime.ExecServer$3.run(ExecServer.java:814)
java.lang.NullPointerException
at Maze.addRandomOccupant(Maze.java:130)
at P4TestDriver.testMazeReadWrite(P4TestDriver.java:1071)
at P4TestDriver.main(P4TestDriver.java:127)
at __SHELL8.run(__SHELL8.java:7)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at bluej.runtime.ExecServer$3.run(ExecServer.java:814)
Run Code Online (Sandbox Code Playgroud)
来自你的评论:
public int getNumRandOccupants() { return randOccupants.size(); }
Run Code Online (Sandbox Code Playgroud)
因为它位于堆栈跟踪的顶部,这意味着randOccupants在调用此方法时该字段为null.
此外,如果你正在获得另一个NPE addRandomOccupant,那么同样的集合也可能在那里.您可能只是忘记构建集合.
| 归档时间: |
|
| 查看次数: |
8095 次 |
| 最近记录: |