0


关于在idea中使用lambda遇到的一个巨坑

问题描述

学习lambda过程中的时候,想要通过初步编写匿名内部类的方式,然后转换lambda的方式来慢慢熟悉lambda表达式的语法,发现自己成功编写了匿名内部类,但是idea却没有办法转换成lambda

如下图所示

1 单个文件不能使用lambda的转换

在这里插入图片描述
2 两个一样的文件一个可以使用,一个就不行

在这里插入图片描述
ps: 注意两边Runnable的字体的颜色,一个是实体,一个是透明的.
解决过程

1 需要确保安装的jdk是jdk1.8或者更高版本,并且在idea中成 功配置
2 在pom.xml中增加一个插件,使得maven支持jdk1.8语法

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.2</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>

3.1 修改项目结构中相关的jdk版本和语言等级

在这里插入图片描述
3.2 Java compiler的level为1.8
在这里插入图片描述
重启idea后,发现依然无法使用lambda的转换功能,之后怀疑是idea插件影响了,再一次卸载掉相关的插件,清理idea的缓存重启,并且更换idea的版本,最终发现依然不行.

经过最终的尝试发现问题的核心关键以下位置的修改:
在这里插入图片描述
这里的语言检查级别直接会影响到lambda的快捷键转换.

最后修改完毕以后 两个文件都可以使用lambda表达式的转换了 ,如下图所示 :

在这里插入图片描述

如果哪里写的不对,希望广大业内大佬批评指正,后面慢慢完善.谢谢 !


本文转载自: https://blog.csdn.net/oYiDiDeSiNian/article/details/125182361
版权归原作者 A small cat 所有, 如有侵权,请联系我们删除。

“关于在idea中使用lambda遇到的一个巨坑”的评论:

还没有评论