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表達式的面向函數式變成特性,可以讓代碼可讀性以及代碼整潔度提升很多,可以讓我們更好的來處理業務上的細節,是不可多得的編程方式。

 

 

 

使用lambda表達式出現下述問題:

 

 

 

 

 

原因:系統中JDK版本錯誤

           IDEA設置JDK版本錯誤

           maven 指定JDK版本錯誤

解決方案:

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

 

 

 

以及

 

 

 

File->Other Settings->Structure for new projects

 

 

 

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

 

 

 

如果還是報錯應當指定maven

 

 

指定jdk版本:

 

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
問題解決:

 

 

 

 

 


————————————————
版權聲明:本文為CSDN博主「七八月份的太陽」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_40165163/article/details/86727134


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM