问题
我正在测试Java 8的一些新功能,并将示例复制到我的IDE(Eclipse最初,然后是IntelliJ),如下所示:http://docs.oracle.com/javase/tutorial/java/javaOO/examples/RosterTest.java
Eclipse没有为lambda表达式提供任何支持,并且IntelliJ不断报告错误"在此语言级别不支持Lambda表达式"。我想知道这是否是我的安装,代码或支持的问题。
#1 热门回答(209 赞)
在IntelliJ IDEA中:
InFile Menu
→Project Structure
→Project
,changeProject Language Level
to8.0 - Lambdas, type annotations etc.
#2 热门回答(66 赞)
你还应在"源"选项卡("模块"部分)上更改源代码语言级别。
#3 热门回答(38 赞)
对于intellij 13,只需将项目语言级别自身更改为8.0
,即可进行以下导航。
File
|
|
---------Project Structure -> Project tab
|
|________Project language level
##模块级别
我还不得不更新Modules lang level
,因为没有maven插件forjava compiler
。
File
|
|
---------Project Structure -> Modules tab
|
|________ language level
但是如果已经有amaven plugin
,这个自动修复它将自动修复,
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
改变后一切看起来都不错