Junior
Šta su lambda izrazi u Javi?
sobes.tech АИ
Одговор од АИ
Izraz lambda u Javi je sažet način za predstavljanje anonimnih funkcija (funkcija bez imena). Koristi se za kreiranje instanci funkcionalnih interfejsa.
Glavne komponente:
- Lista parametara: Zaokružene zagrade
()sadrže listu parametara. Ako nema parametara, koriste se prazne zagrade. - Strelica
->: Odvaja listu parametara od tela lambda izraza. - Telo: Može biti jedan izraz ili blok koda u vitičastim zagradama
{}.
Primer bez parametara:
// Funkcionalni interfejs
@FunctionalInterface
interface Greeting {
void sayHello();
}
// Korišćenje lambda izraza
Greeting greeting = () -> System.out.println("Hello, World!");
Primer sa parametrima:
// Funkcionalni interfejs
@FunctionalInterface
interface MathOperation {
int operate(int a, int b);
}
// Korišćenje lambda izraza
MathOperation addition = (a, b) -> a + b;
MathOperation subtraction = (a, b) -> {
return a - b;
};
Prednosti:
- Sažetost: Smanjuje količinu boilerplate koda.
- Prijatno: Koristi se zajedno sa API Stream za obradu kolekcija.
- Funkcionalno programiranje: Podržava elemente funkcionalnog programiranja u Javi.
Ograničenja:
- Mogu se koristiti samo sa funkcionalnim interfejsima (interfejsi sa jednom apstraktnom metodom).
- Ne mogu imati stanje (tj. ne mogu menjati promenljive izvan svog konteksta, ako te promenljive nisu eksplicitno deklarisane kao final ili efektivno final).
Lambda izrazi su uvedeni u Javi 8.