Java StackTrace不显示行中的实际null

Mal*_*aYa 2 java jvm bytecode

以下例外:

Exception in thread "main" java.lang.NullPointerException
at javaapplication7.App.main(App.java:8)
Java Result: 1
Run Code Online (Sandbox Code Playgroud)

从代码抛出:

Object o = n1.getObj().getObj().getObj().getObj();
Run Code Online (Sandbox Code Playgroud)

因此,从堆栈跟踪中不清楚哪个元素实际上是null.有没有一种方法可以在没有调试的情况下找到它?也许其他一些JVM会做什么?

aio*_*obe 6

不,你无法弄清楚其中的哪些受访者

Object o = obj.getObj().getObj().getObj().getObj();
Run Code Online (Sandbox Code Playgroud)

通过查看堆栈跟踪导致NullPointerException.通常建议将代码格式化为

Object o = obj.getObj()
              .getObj()
              .getObj()
              .getObj();
Run Code Online (Sandbox Code Playgroud)

为此原因.