wyrażenie lambda nieobsługiwane w stream (). allMatch () / .anyMatch () metoda [zduplikowane]
Dec 15 2020
Nie rozumiem, dlaczego JAVA 1.8 nie obsługuje wyrażenia lambda w stream (). Filter () / allMatch () / anyMatch ()
na przykład :
Fragment błędu z 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);
}
}
W zaćmieniu pojawiają się błędy jako „Błąd składni na tokenie„ - ”, - oczekiwano” i czerwone linie poniżej „n”. Pomóż mi zrozumieć i rozwiązać ten problem.
# UWAGA: używam eclipse 3.8, JAVA 8 (1.8.0_271)
Odpowiedzi
ErezBenHarush Dec 15 2020 at 01:59
Twój kod wydaje się kompilować i uruchamiać https://www.tutorialspoint.com/compile_java_online.phpKtóry obsługuje Javę 1.8.0_141. Sprawdź, czy docelowy czas wykonywania w eclipse jest ustawiony na java 8.
Jako przykładu możesz użyć Target JRE w Eclipse .