Les lambdas sur JAVA

boooker -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,

Configuration: Windows / Chrome 78.0.3904.108


Je n'arrive pas a utiliser les lambdas sur eclipse, merci de votre aide

2 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    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 ?
    0
    1. boooker
       
      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)
      0
      1. KX Messages postés 19031 Statut Modérateur 3 020 > boooker
         
        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;
        }
        0
  2. boooker
     
    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 ?
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      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 un
      System.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
      }
      0