我最近更新了我的
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但我的代码没有编译.
有什么我做错了吗?
最佳答案 这是编译器的问题.在我的环境变量中,我指向旧的Java 7版本.将其更改为8后编译的代码.