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

心血来潮,想用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
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值