Junior
Qu'est-ce que les expressions lambda en Java?
sobes.tech IA
Réponse de l'IA
L’expression lambda en Java est une manière concise de représenter des fonctions anonymes (fonctions sans nom). Elles sont utilisées pour créer des instances d’interfaces fonctionnelles.
Composants principaux :
- Liste de paramètres : Les parenthèses
()contiennent la liste des paramètres. S’il n’y en a pas, on utilise des parenthèses vides. - Flèche
->: Sépare la liste des paramètres du corps de l’expression lambda. - Corps : Peut être une seule expression ou un bloc de code entre accolades
{}.
Exemple sans paramètres :
// Interface fonctionnelle
@FunctionalInterface
interface Greeting {
void sayHello();
}
// Utilisation de l’expression lambda
Greeting greeting = () -> System.out.println("Hello, World!");
Exemple avec paramètres :
// Interface fonctionnelle
@FunctionalInterface
interface MathOperation {
int operate(int a, int b);
}
// Utilisation de l’expression lambda
MathOperation addition = (a, b) -> a + b;
MathOperation subtraction = (a, b) -> {
return a - b;
};
Avantages :
- Concision : Réduit la quantité de code boilerplate.
- Confort : Utilisation avec l’API Stream pour traiter des collections.
- Programmation fonctionnelle : Supporte les éléments de la programmation fonctionnelle en Java.
Limitations :
- Peut être utilisé uniquement avec des interfaces fonctionnelles (interfaces avec une seule méthode abstraite).
- Ne peut pas avoir d’état (c’est-à-dire, ne peut pas modifier des variables en dehors de son contexte, si ces variables ne sont pas explicitement déclarées comme final ou effectivement final).
Les expressions lambda ont été introduites dans Java 8.