我正在测试Java 8的一些新特性,并将示例复制到我的IDE(最初是Eclipse,然后是IntelliJ),如下所示

Eclipse对lambda表达式不提供任何支持,IntelliJ不断报告错误

此语言级别不支持Lambda表达式

我想知道这是否是我的安装、代码或支持的问题。


当前回答

如果你得到了语言5不支持,检查这个:( 对我来说,它是在模块部分)

其他回答

首先检查您使用的JDK版本,它应该高于1.8。

如果是,则继续执行以下步骤。

在Intellij中更改项目和模块的语言级别。

项目

1.文件->项目结构->项目->项目语言级别 将其更改为8,lamba表达式才能工作 2.文件->项目结构->模块->项目语言级别 将其更改为8,lamba表达式才能工作

使用: IntelliJ IDEA 2017.1.4 Build #IU-171.4694.23

通过项目设置/项目选项卡改变语言级别没有任何作用。相反,点击Alt + Enter并选择“设置语言级别为8 - Lambdas,类型注释等”,它会自动解决。

检查以下设置:

文件->项目结构->项目标签。 项目SDK应设置为8或以上 文件- >项目结构- >模块。 *检查您或所有模块的语言级别设置为8或以上 文件->设置(或其他设置->首选项在新Idea版本的新项目) *搜索Java编译器,检查项目字节码版本 并且每个模块的字节码版本设置为8或以上

您的问题可能属于上述定义的任何一类。

在应用程序级别构建中添加以下行。gradle在Android项目中解决了问题。

 compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }

在IntelliJ IDEA 15中使用Java 8 (lambdas等)编译;

CTRL + ALT + SHIFT + S或文件/项目结构 打开项目选项卡 将项目SDK设置为兼容的java版本(1.8) “项目语言级别”设置为“8” 打开模块选项卡 设置“语言级别”为“8”,单击“确定” CTRL + ALT + S或文件/设置 构建,执行,部署/编译器/ Java编译器 将目标字节码版本更改为1.8,单击确定