2016-10-04 97 views
0

我最近在Eclipse(MAC)上安裝了JDK 8,並試圖使用這些流。無法在Eclipse上獲取流工作

然而,似乎是Java的8配置不正確,因爲我得到以下行的代碼以下錯誤:

List<Eshop> tempShops = eshops.stream().filter(e -> e.getName().equals(name)).collect(Collectors.toList()); 

Multiple markers at this line 
    - e cannot be resolved to a variable 
    - e cannot be resolved 
    - Syntax error on token "-", -- 
    expected 

任何人有一個想法是什麼可能是錯誤的?

編輯 也試過像

List<Eshop> tempShops = eshops.stream().filter((e) -> e.getName().equals(name)).collect(Collectors.toList()); 
+0

看起來像你正在使用'args - >表達式'。它應該是'(args) - >表達式'。 –

+0

嗨,你可以更具體嗎? (args)是什麼意思?你能給個例子嗎? – panipsilos

+0

就像在你的lambda參數中需要括號一樣。參見[Java Lambdas簡介](/ documentation/java/91/lambda-expressions/2353/introduction-to-java-lambdas)。 –

回答

3

Eclipse的開普勒不包含Java 8支持(除非你安裝了一個補丁)。

您應該使用當前的Eclipse Neon(4.6.1)來獲得完整的Java 8支持。

+0

thnx格雷戈,我會移動到霓虹然後。 – panipsilos

+0

這是因爲Eclipse不使用JDK編譯器,而是使用自己的嵌入式編譯器。 –