java老项目写了一个controller类,项目启动报错,数组越界!
入职两个多月的王某今天新写了一个接口,接口写完之后在项目启动的时候报错java.lang.ArrayIndexOutOfBoundsException
王某自己看了半天也找出来自己的这个controller类有什么问题。中午吃午饭的时候,我从别人那里了解到了这个情况。
刚才去看了一下他写的接口,接口中的其它代码都中规中矩,但是王某在接口方法中用到了java 8的Lambda表达式这一特性。
我随手用快捷转换键将Lambda表达式转换为foreach形式,重新启动,项目成功启动!
王某问是什么原因导致这个错误呢?Lambda表达式不是java8 的特性吗?jdk也是用的1.8啊。
其实最终的原因是就是因为项目太老了,使用的是spring3.X的版本,所以才不支持Lambda表达式的!
因此只要把Lambda表达式换成foreach就解决问题了,也可以将spring3升级到spring4。
---《一个在互联网打拼的工具人,猿码天地》欢迎关注@猿码天地 Java研究猿、程序员日常工作生活分享官