Les lambdas sur JAVA
boooker
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
Je n'arrive pas a utiliser les lambdas sur eclipse, merci de votre aide
Configuration: Windows / Chrome 78.0.3904.108
Je n'arrive pas a utiliser les lambdas sur eclipse, merci de votre aide
2 réponses
-
Bonjour,
C'est vague comme problème.
Quelle version d'Eclipse utilises tu ?
Quelle version de Java est configurée ?
Quel code essayes-tu de faire fonctionner ?
Quel erreur est-ce que tu obtiens ?-
merci pour la reponse :
la version java est 2019-09
JAVA 11
Le code :
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
()->1337;
}
}
l'erreur
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Syntax error, insert "AssignmentOperator Expression" to complete Expression
at Main.main(Main.java:6)- Ici le problème c'est le code.
En Java tu ne peux pas écrire directement ceci :public static void main(String[] args) { 1337; // Syntax error, insert "AssignmentOperator Expression" to complete Expression }
Il faudrait que tu assignes la valeur à une variable, par exemple :public static void main(String[] args) { int n = 1337; }
C'est le même principe avec les lambdas, tu ne peux pas écrire directement :public static void main(String[] args) { () -> 1337; // Syntax error, insert "AssignmentOperator Expression" to complete Expression }
Il faut que tu assignes la méthode à une référence, par exemple :public static void main(String[] args) { IntSupplier getN = () -> 1337; // import java.util.function.IntSupplier; }
-
-
merci pour votre reponse, ca peut paraitre bete , mais dans ce cas l'eclipse ne retourne aucune valeur ,sur la console. alors comment afficher le resultat ?
-
En effet, le programme n'affiche rien, de même qu'il n'afficherait rien avec juste
int n = 1337;
Pour qu'il y ait un affichage il faut qu'il y ait unSystem.out.println
dans ton code...
public static void main(String[] args) { IntSupplier getN = () -> 1337; // import java.util.function.IntSupplier; int n = getN.getAsInt(); System.out.println(n); // 1337 }
-