Je suis en train de réécrire ce codeComment écrire l'expression lambda avec EventHandler JavaFX
new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
System.out.println(e.hashCode());
}
};
comme
new EventHandler<MouseEvent>(e -> System.out.println(e.hashCode()));
et je reçois des erreurs. Quelle est mon erreur ici?
L'équivalent lambda du premier bloc de code est simplement 'event -> System.out.println (event.hashCode())' (sans l'appel à un constructeur, qui est Je pense que vous essayez de faire). –
en termes simples, c'est l'ensemble de l'interface fonctionnelle que vous remplacez avec lambda et non la fonction au sein de l'interface. L'équivalent lambda de votre premier extrait de code est 'event -> System.out.println (e.hashCode())'. Ce que vous faites est en train d'ajouter "lambda" dans le constructeur. Invalide – Dota2