栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

问题描述

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

如下图所示

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


2 两个一样的文件一个可以使用,一个就不行


ps: 注意两边Runnable的字体的颜色,一个是实体,一个是透明的.
解决过程

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


    
      
        org.apache.maven.plugins
        maven-compiler-plugin
        3.2
        
          1.8
          1.8
        
      
    
  

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


3.2 Java compiler的level为1.8

重启idea后,发现依然无法使用lambda的转换功能,之后怀疑是idea插件影响了,再一次卸载掉相关的插件,清理idea的缓存重启,并且更换idea的版本,最终发现依然不行.

经过最终的尝试发现问题的核心关键以下位置的修改:

这里的语言检查级别直接会影响到lambda的快捷键转换.

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/958497.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号