java: -source 1.5 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)怎么办
时间: 2023-09-21 19:02:29 浏览: 216
这个问题是因为您使用了 Lambda 表达式,但是您的 Java 编译器版本过低,不支持 Lambda 表达式的语法。
要解决这个问题,您需要升级您的 Java 编译器版本到 1.8 或更高版本,并使用 -source 1.8 或更高版本编译器选项来启用 Lambda 表达式。
如果您正在使用 Eclipse 或者其他的 Java IDE,可以通过更改项目的编译选项来解决此问题。在 Eclipse 中,您可以通过选择项目,然后右键单击并选择“Properties”,在“Java Compiler”选项卡下设置项目的目标 Java 版本和源代码版本。
如果您在命令行中编译 Java 代码,可以使用以下命令:
```
javac -source 1.8 <your_file_name>.java
```
注意,在使用 Lambda 表达式之前,请确保您的 Java 环境已经升级到 1.8 或更高版本。
相关问题
java: -source 1.5 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)
这是因为 Java 8 引入了 lambda 表达式,而 Java 5 不支持该语法。您需要使用 -source 8 或更高版本来启用 lambda 表达式。可以在 javac 命令中添加 -source 8 参数,例如:
```
javac -source 8 MyProgram.java
```
如果您使用的是 Eclipse 或者 IntelliJ IDEA 等 IDE,可以在项目设置中将 Java 版本设置为 8 或更高版本。
java: -source 1.7 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)
在Java中,lambda表达式是一种匿名函数的简洁语法,它可以用来替代某些需要实现函数式接口的地方。然而,在Java的1.7版本中,并不支持lambda表达式,需要使用1.8版本或更高版本才能启用lambda表达式。
在Java 1.8版本之前,要实现类似的功能,通常需要使用匿名内部类来代替lambda表达式。匿名内部类是一种没有名字的类,可以直接在代码中定义并实例化。通过匿名内部类,可以实现函数式接口的方法,并将其作为参数传递给其他方法。
如果你想在Java 1.7中使用lambda表达式,你需要将源代码编译为1.8或更高版本。可以使用命令行选项"-source 8"或更高版本来启用lambda表达式的支持。这样编译器就会将lambda表达式转换为对应的匿名内部类。
阅读全文