Java IntelliJ 13.1.4“;此语言级别不支持Lambda表达式。”;

Java IntelliJ 13.1.4“;此语言级别不支持Lambda表达式。”;,java,intellij-idea,lambda,Java,Intellij Idea,Lambda,当我尝试使用表达式value->value时,我得到一个错误,表示不支持Lambda。我目前正在使用支持Lambda的1.8jdk,但仍然会出现错误。我猜是Intellij13.1.4,但我不是肯定的 public static void grades(){ final List<Integer> grade = new ArrayList<Integer>(); int gradelistnumber = 1; int inputedgrade

当我尝试使用表达式
value->value
时,我得到一个错误,表示不支持Lambda。我目前正在使用支持Lambda的1.8jdk,但仍然会出现错误。我猜是Intellij13.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()));
  }

}
公共静态无效等级(){
最终列表等级=新的ArrayList();
int gradelistnumber=1;
int INPUTEGRADE=0;
while(输入等级!=-1){
System.out.println(“为学生输入成绩”+成绩列表编号+”(1-50):”;
InputGrade=sc.nextInt();
等级。添加(输入的等级);
gradelistnumber++;
}
System.out.println(“类平均值:+System.out.println(grade.stream().mapToInt(value->value/*error*/).sum()));
}
}
转到

File > Project Structure > Project > Project Language Level

检查它是否为8.0

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

将其更改为:

System.out.println("Class Average: " + grade.stream().mapToInt(value -> value).sum());
至于语言级别,您可以比进入“项目结构”菜单更轻松地对其进行更改。只需将光标定位到显示错误的代码部分,按ALT+ENTER,然后选择“将语言级别设置为8.0”


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

如果您使用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>
并且也要像前面提到的那样进行检查

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


此外如其他人所述,

您还应该检查
文件>项目结构>**Modules**>Sources>项目语言级别
并设置为8

它应该在应用程序标题栏上显示您的Intellij版本号。如果没有,您可以在
Help->About
   </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>
compileJava.sourceCompatibility
compileJava.targetCompatibility