Des classes anonymes aux lambdas et références de méthodes
Remplacez les classes anonymes à méthode unique par des lambdas et des références de méthodes concises.
Comparaison de Code
✕ Anonymous class
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
save(event);
}
});
✓ Java 8+
button.addActionListener(this::save);
Un problème avec ce code ? Dites-le nous.
Pourquoi la méthode moderne gagne
Moins de code répétitif
Supprime la déclaration de classe et le cérémonial de redéfinition.
Meilleure lisibilité
Maintient l'attention sur l'opération effectuée.
Toujours sûr au niveau du typage
Le compilateur vérifie la signature de l'interface fonctionnelle cible.
Ancienne Approche
Classe anonyme
Approche Moderne
Référence de méthode
Depuis JDK
8
Difficulté
Débutant
Support JDK
Des classes anonymes aux lambdas et références de méthodes
Disponible
Disponible depuis JDK 8 (mars 2014).
Comment ça fonctionne
Les interfaces fonctionnelles peuvent être implémentées avec des lambdas ou des références de méthodes. Cela élimine le cérémonial des classes anonymes tout en préservant le typage statique et le même contrat de callback.
Documentation Associée
Preuve