【问题标题】:Java IntelliJ 13.1.4 "Lambda expressions are not supported at this language level."Java IntelliJ 13.1.4 “此语言级别不支持 Lambda 表达式。”
【发布时间】:2026-02-01 03:15:01
【问题描述】:

当我尝试使用表达式 value -> value 时,我收到一条错误消息,指出不支持 Lambda。我目前正在使用支持 Lambda 的 1.8 JDK,但我仍然收到错误消息。我的猜测是 IntelliJ 13.1.4,但我并不肯定。

public static void grades(){
    final List<Integer> grade = new ArrayList<Integer>();
    int gradelistnumber = 1;
    int inputedgrade = 0;

    while(inputedgrade != -1){
        System.out.println("Enter Grade for student " + gradelistnumber + " (1-50): ");
        inputedgrade = sc.nextInt();
        grade.add(inputedgrade);
        gradelistnumber++;


    }

    System.out.println("Class Average: " + System.out.println(grade.stream().mapToInt(value -> value /*error*/).sum()));
  }

}

【问题讨论】:

  • 它应该在应用程序标题栏上显示您的 Intellij 版本号。如果没有,你可以在Help -&gt; About中找到

标签: java intellij-idea lambda


【解决方案1】:

除了其他提到的File &gt; Project Structure &gt; Project &gt; Project Language Level
您还应该检查 File &gt; Project Structure &gt; **Modules** &gt; Sources &gt; Project Language Level 并设置为 8

【讨论】:

    【解决方案2】:

    前往

    File > Project Structure > Project > Project Language Level
    

    检查是不是8.0

    【讨论】:

      【解决方案3】:

      这行代码除了语言级别错误之外还有编译错误(System.out.println返回的void运算符不能应用void)。

      System.out.println("Class Average: " + System.out.println(grade.stream().mapToInt(value -> value /*error*/).sum()));
      

      改成:

      System.out.println("Class Average: " + grade.stream().mapToInt(value -> value).sum());
      

      至于语言级别,您可以比进入 项目结构 菜单更轻松地更改它。只需将光标放在显示错误的代码部分,点击 ALT + ENTER 并选择 Set language level to 8.0

      这通常是要记住的一件好事,因为在 IntelliJ 中,您可以通过 ALT + ENTER 菜单轻松解决许多警告和错误。

      【讨论】:

        【解决方案4】:

        如果您使用 pom.xml 构建项目,请修复 maven 编译器插件

           </dependencies>
            <build>
                <finalName>SnmpAgentExample</finalName>
                <plugins>
                    <plugin>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                            <source>1.8</source>
                            <target>1.8</target>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </project>
        

        properties 的 gradle 也可以做到这一点:

        compileJava.sourceCompatibility
        compileJava.targetCompatibility
        

        并且还检查如前所述。

        文件 > 项目结构 > 项目 > 项目语言级别

        【讨论】:

          最近更新 更多