Lambda-Ausdruck wird in stream () nicht unterstützt. allMatch () / .anyMatch () -Methode [Duplikat]

Dec 15 2020

Ich verstehe nicht, warum JAVA 1.8 den Lambda-Ausdruck in stream () nicht unterstützt. Filter () / allMatch () / anyMatch ()

beispielsweise :

FEHLER-Snippet aus der Eclipse-IDE

import java.util.*; 
  
class GFG { 
      
    // Driver code 
    public static void main(String[] args) { 
          
    // Creating a list of Integers 
    List<Integer> list = Arrays.asList(3, 4, 6, 12, 20); 
      
    // Check if all elements of stream 
    // are divisible by 3 or not using  
    // Stream allMatch(Predicate predicate) 
    boolean answer = list.stream().allMatch(n-> n % 3 ==0); 
      
    // Displaying the result 
    System.out.println(answer); 
} 
} 

Ich erhalte Fehler in Eclipse als "Syntaxfehler auf Token" - ", - erwartet" und rote Linien unter 'n'. Bitte helfen Sie mir, dieses Problem zu verstehen und zu beheben.

#HINWEIS: Ich verwende Eclipse 3.8, JAVA 8 (1.8.0_271).

Antworten

ErezBenHarush Dec 15 2020 at 01:59

Ihr Code scheint kompiliert und ausgeführt zu werden https://www.tutorialspoint.com/compile_java_online.phpWelches läuft Java 1.8.0_141. Überprüfen Sie, ob die Ziellaufzeit in Eclipse auf Java 8 eingestellt ist.

Sie können Target JRE in Eclipse als Beispiel verwenden.