我想了解Java 8和Java 7之間的差異。目前我正在研究Java 8 forEach
循環。Java 8 forEach無法解析爲變量
public class Main {
public static void main(String[] args){
List<String> strings = Arrays.asList("hello","my","name","is","test");
strings.stream().forEach(s -> System.out.println(s));
}
}
此代碼生成以下錯誤對我來說:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
s cannot be resolved to a variable
Syntax error on token "-", -- expected
s cannot be resolved to a variable
at Main.main(Main.java:7)
我相信,在JDK藏漢作爲JRE是Java 8,因爲compuler可以識別來自List
的forEach
方法,但而不是->
參數。
這會給你一個想法http://www.adam-bien.com/roller/abien/ entry/java_8_from_a_for – Sorceri
這聽起來像是一個Java 7與Java 8的錯誤。如果您運行'System.out.println(System.getProperty(「java.version」));'',程序的輸出是什麼? – wassgren
我相信我知道發生了什麼事。 'System.getProperty()'輸出的JRE是'1.8.0_25'。但是,JDK是1.7。上帝知道Eclipse從哪裏設置。 –