lambda expressions are not supported at this language level的问题解决

作者使用IntelliJ IDEA测试代码时,遇到‘lambda expressions are not supported at this language level ‘5’’错误,经查找发现是JDK版本不支持,需将language level设为8以上。之后编译又报错,简单修改IntelliJ IDEA配置即可。还介绍了JDK 8的新特性。

心血来潮,想用intellij idea测试一些代码,报了一个错误lambda expressions are not supported at this language level ‘5’,简直是一头雾水,代码很简单啊!

        Thread th1 = new Thread(()->{
            test.add10K();
        });

看起来像是当前的语言等级(jdk版本不支持这种写法),然后开始一堆查找资料,现在使用的sdk一般都是java jdk8,jdk中新增了一些新特性,如:

  1. Lambda 表达式 − Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中。
  2. 方法引用 − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。
  3. 默认方法 − 默认方法就是一个在接口里面有了一个实现的方法。
  4. 新工具 − 新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。
  5. Stream API −新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。
  6. Date Time API − 加强对日期与时间的处理。
  7. Optional 类 − Optional 类已经成为 Java 8 类库的一部分,用来解决空指针异常。
  8. Nashorn, JavaScript 引擎 − Java 8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用。

额,lambda表达式是jdk 8以后专有的,也就是说我们的language level至少也设置为8以上。

点击intellij idea左上角,File->Project Structure
在这里插入图片描述

之后编译运行,又报了一个错误Error:java: Compilation failed: internal java compiler error
真是一波三折啊,编译错误,也是只需要简单修改intellij idea配置即可:

点击intellij idea左上角,File->Settings->Bulid, Execution,Deployment->Compiler->Java Compiler
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值