在java 8中使用lambda时错误表达非法启动

时间:2015-09-02 06:33:41

标签: java list lambda java-8 syntax-error

我最近将我的java更新到第8版并尝试了一些Lambdas,但是它给出了错误。

我的代码

String[] st = {"ak","ss","dd"};

Arrays.asList(st).forEach(data -> System.out.println(data));

控制台的输出是

PS E:\> javac .\Lambdas.java
.\Lambdas.java:11: error: illegal start of expression
                   Arrays.asList(st).forEach(data -> System.out.println(data));
                                                   ^
1 error
PS E:\> java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

这很奇怪,因为我上面有java 8但我的代码没有编译。

我有什么问题吗?

1 个答案:

答案 0 :(得分:2)

这是编译器问题。在我的环境变量中,我指向旧的Java 7版本。将其更改为8后编译的代码。