Intellij IDEA使用 lambda表达式报错-source1.5中不支持lambda表达式

Intellij IDEA简介:

IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java等少数语言。

 lambda表达式简介:

在Java8中推出的lambda表达式(参考JSR-335,地址为https://jcp.org/en/jsr/detail?id=335),官方的描述是:扩展Java语言以支持紧凑的lambda表达式(闭包),以及相关的语言和库功能,以使JavaSE的API能够使用lambda有效表达。通俗的理解为通过lambda表达式的本质是语法糖(Syntactic sugar,在计算机语言中添加的某种语法,这种语法对语言的功能没有影响,但是更方便程序员使用。语法糖让程序更加简洁,有更高的可读性),其底层还是通过编译器自动推断并生成匿名类来实现。可以使用更少的代码来实现同样的功能,使代码简洁的同时也使得Java支持闭包的功能。详见list.stream()和java.util.function包下提供了诸多的function接口。

有使用过C#linq的小伙伴可能会比较熟悉,个人感觉linq要比Java的lambda和Stream要更强大。可能个人对于java的lambda和Stream了解还不够多。总之语言只是一种工具,业务才是核心,不要把自己局限与一种语言,去感受各种语言的魅力才是一个合格的程序员。

总之lambda表达式的面向函数式变成特性,可以让代码可读性以及代码整洁度提升很多,可以让我们更好的来处理业务上的细节,是不可多得的编程方式。

Intellij IDEA使用 lambda表达式报错-source1.5中不支持lambda表达式_第1张图片

使用lambda表达式出现下述问题:

原因:系统中JDK版本错误

           IDEA设置JDK版本错误

           maven 指定JDK版本错误

解决方案:

FIle->Project Structure->设置JDK版本

Intellij IDEA使用 lambda表达式报错-source1.5中不支持lambda表达式_第2张图片

以及

Intellij IDEA使用 lambda表达式报错-source1.5中不支持lambda表达式_第3张图片

File->Other Settings->Structure for new projects

Intellij IDEA使用 lambda表达式报错-source1.5中不支持lambda表达式_第4张图片

File->Other Settings-> Preferences for new projects 里也可以设置

Intellij IDEA使用 lambda表达式报错-source1.5中不支持lambda表达式_第5张图片

如果还是报错应当指定maven指定jdk版本:

Intellij IDEA使用 lambda表达式报错-source1.5中不支持lambda表达式_第6张图片


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

问题解决:

Intellij IDEA使用 lambda表达式报错-source1.5中不支持lambda表达式_第7张图片

Intellij IDEA使用 lambda表达式报错-source1.5中不支持lambda表达式_第8张图片

你可能感兴趣的:(Java,Java)