Sobes.tech
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.