Junior
Mi az a lambda kifejezés Java-ban?
sobes.tech MI
Válasz az MI-től
A lambda kifejezés Java-ban egy tömör módja az anonim függvények (név nélküli függvények) ábrázolásának. Ezeket a funkcionális interfészek példányainak létrehozására használják.
Fő összetevők:
- Paraméterlista: A
()zárójelek tartalmazzák a paraméterek listáját. Ha nincsenek paraméterek, üres zárójeleket használnak. - Nyíl
->: Elválasztja a paraméterlistát a lambda testétől. - Test: Lehet egyetlen kifejezés vagy egy kódrészlet a kapcsos zárójelek
{}között.
Példa paraméterek nélkül:
// Funkcionális interfész
@FunctionalInterface
interface Greeting {
void sayHello();
}
// Lambda kifejezés használata
Greeting greeting = () -> System.out.println("Hello, World!");
Példa paraméterekkel:
// Funkcionális interfész
@FunctionalInterface
interface MathOperation {
int operate(int a, int b);
}
// Lambda kifejezés használata
MathOperation addition = (a, b) -> a + b;
MathOperation subtraction = (a, b) -> {
return a - b;
};
Előnyök:
- Tömörség: Csökkenti a boilerplate kód mennyiségét.
- Kényelem: A Stream API-val együtt használva a kollekciók feldolgozására.
- Funkcionális programozás: Támogatja a funkcionális programozási elemeket Java-ban.
Korlátok:
- Csak funkcionális interfészekkel használható (egy absztrakt metódusú interfészek).
- Nem lehet állapota (azaz, nem módosíthat változókat a kontextusán kívül, ha ezek a változók nem explicit módon final vagy effektív finalként vannak deklarálva).
A lambda kifejezéseket a Java 8 vezette be.