Middle
Ce sunt expresiile lambda în Java?
sobes.tech AI
Răspuns de la AI
Expresia lambda în Java este o funcție anonimă. Aceasta permite tratarea funcționalității ca argument al metodei sau ca cod ca date.
Caracteristici principale:
- Anonimat: Nu are nume.
- Interfață funcțională: Expresia lambda este întotdeauna asociată cu o interfață funcțională (interfață cu o singură metodă abstractă).
- Sintaxă:
(parametri) -> { corp }
Exemplu de utilizare cu interfața funcțională Consumer:
import java.util.function.Consumer;
// Interfața funcțională Consumer<T> are o metodă abstractă accept(T t)
Consumer<String> salut = (nume) -> {
System.out.println("Salut, " + nume);
};
salut.accept("Lume"); // Afișare: Salut, Lume
Exemplu de utilizare cu interfața Runnable:
// Interfața Runnable are o metodă abstractă run()
Runnable sarcina = () -> {
System.out.println("Sarcina se execută într-un thread separat");
};
new Thread(sarcina).start(); // Începe sarcina într-un thread nou
Variante sintactice:
- Fără parametri:
() -> { System.out.println("Salut"); } - Un parametru fără paranteze:
nume -> System.out.println("Salut, " + nume) - Mai mulți parametri cu paranteze și tipuri:
(int a, int b) -> { return a + b; } - Mai mulți parametri fără tipuri (inferență de tip):
(a, b) -> a + b - Corp pe o singură linie fără
return:(a, b) -> a + b - Corp multi-linie cu acolade și
return(dacă este necesar):(a, b) -> { int suma = a + b; return suma; }
Expresiile lambda fac codul mai compact, mai ușor de citit și permit utilizarea programării funcționale în Java.