上午经理发来一个任务,解决某个接口异常,此接口第一次调用成功返回:
{ret=Y, orderResultList=[{itemno=31920190521083622032, sub_msg=成功, isSuccess=true}]}
再次调用则全部返回:
Exception when eval result.toString:null
查看日志:是StackOverflowError
找到对应的xxxxxServiceImpl,看到几行代码:
从而找到此方法调用的地方:
继续浏览代码,看到:
恍然大悟,原来如此。
result和orderResultList用的是引用传递,他俩相互引用造成了toString解析结构异常,从而造成StackOverflowError,
最终演变成了我看到的【Exception when eval result.toString:null】。
关于java引用传递和值传递,看下面这篇文章:
https://www.cnblogs.com/xiaoxiaoyihan/p/4883770.html
[java基础] 001 - 记一次堆栈溢出异常(StackOverFlowError)
原文:https://www.cnblogs.com/ruanian/p/10901969.html