Junior
Ce sunt expresiile lambda în Java?
sobes.tech AI
Răspuns de la AI
Expresia lambda în Java este o modalitate concisă de a reprezenta funcții anonime (funcții fără nume). Sunt utilizate pentru a crea instanțe ale interfețelor funcționale.
Componente principale:
- Lista de parametri: Parantezele
()conțin lista de parametri. Dacă nu există parametri, se folosesc paranteze goale. - Săgeata
->: Separă lista de parametri de corpul expresiei lambda. - Corpul: Poate fi o singură expresie sau un bloc de cod între acolade
{}.
Exemplu fără parametri:
// Interfață funcțională
@FunctionalInterface
interface Greeting {
void sayHello();
}
// Utilizarea expresiei lambda
Greeting greeting = () -> System.out.println("Hello, World!");
Exemplu cu parametri:
// Interfață funcțională
@FunctionalInterface
interface MathOperation {
int operate(int a, int b);
}
// Utilizarea expresiei lambda
MathOperation addition = (a, b) -> a + b;
MathOperation subtraction = (a, b) -> {
return a - b;
};
Avantaje:
- Concizie: Reduce volumul de cod boilerplate.
- Confort: Utilizare împreună cu API-ul Stream pentru procesarea colecțiilor.
- Programare funcțională: Suport pentru elemente de programare funcțională în Java.
Limitări:
- Pot fi utilizate doar cu interfețe funcționale (interfețe cu o singură metodă abstractă).
- Nu pot avea stare (adică, nu pot modifica variabilele din afara contextului lor, dacă aceste variabile nu sunt declarate explicit ca final sau efectiv final).
Expresiile lambda au fost introduse în Java 8.