Junior
Qu'est-ce que les expressions lambda en Java?
sobes.tech IA
Réponse de l'IA
Une expression lambda en Java est une fonction anonyme (sans nom) qui implémente une interface fonctionnelle.
Caractéristiques principales :
- N'ont pas de nom.
- Peuvent avoir des paramètres.
- Le corps peut consister en une seule expression ou un bloc d'instructions.
- Le type de valeur de retour n'est pas spécifié (il est inféré automatiquement).
- Nécessaires pour la programmation fonctionnelle et le travail avec les flux (Streams API).
Syntaxe :
// Sans paramètres
() -> { // corps }
// Avec un paramètre (le type peut être omis)
param -> expression
// Avec plusieurs paramètres (le type peut être omis, des parenthèses sont nécessaires)
(param1, param2) -> { // corps }
Exemple d'utilisation :
// Interface fonctionnelle (intégrée)
import java.util.function.Consumer;
// Implémentation avec lambda
Consumer<String> printer = s -> System.out.println(s);
printer.accept("Bonjour le monde!");
// Utilisation dans une méthode qui accepte une interface fonctionnelle
import java.util.Arrays;
import java.util.List;
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
numbers.forEach(n -> System.out.println(n)); // forEach accepte un Consumer
Avantages :
- Code plus concis.
- Meilleure lisibilité (dans les cas simples).
- Possibilité d'utiliser la programmation fonctionnelle.
- Simplification du travail avec les collections et le multithreading.
Limitations :
- Les lambdas imbriqués ou longs peuvent être difficiles à comprendre.
- N'ont pas d'état (ne peuvent pas avoir de champs d'instance).