expression lambda non prise en charge dans la méthode stream (). allMatch () / .anyMatch () [duplicate]
Dec 15 2020
Je ne comprends pas pourquoi JAVA 1.8 ne prend pas en charge l'expression lambda dans stream (). Filter () / allMatch () / anyMatch ()
par exemple :
Extrait d'ERREUR de l'IDE Eclipse
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);
}
}
J'obtiens des erreurs dans eclipse comme "Erreur de syntaxe sur le jeton" - ", - attendu" et des lignes rouges sous 'n'. Veuillez m'aider à comprendre et à résoudre ce problème.
#REMARQUE: J'utilise eclipse 3.8, JAVA 8 (1.8.0_271)
Réponses
ErezBenHarush Dec 15 2020 at 01:59
Votre code semble compiler et s'exécuter https://www.tutorialspoint.com/compile_java_online.phpQui exécute Java 1.8.0_141. Vérifiez si le temps d'exécution cible dans eclipse est défini sur java 8.
Vous pouvez utiliser Target JRE dans Eclipse comme exemple.