Sobes.tech
Junior

Čo sú to lambda výrazy v Jave?

sobes.tech AI

Odpoveď od AI

Výraz lambda v Jave je anonymná funkcia, ktorá umožňuje odovzdávať bloky kódu ako objekty. Je to kompaktný spôsob implementácie funkčných rozhraní (rozhraní s jednou abstraktnou metódou).

Syntax výrazu lambda:

  • Zoznam parametrov (môže byť prázdny).
  • Operátor ->.
  • Telo výrazu (môže byť výraz alebo blok príkazov).

Príklady:

// Lambda pre funkčné rozhranie Runnable
Runnable úloha = () -> System.out.println("Ahoj z lambda!");

// Lambda pre funkčné rozhranie Comparator<Integer>
Comparator<Integer> porovnávač = (a, b) -> a.compareTo(b);

// Lambda s telom z bloku príkazov
Consumer<String> pozdrav = meno -> {
    String správa = "Ahoj, " + meno + "!";
    System.out.println(správa);
};

Kľúčové vlastnosti:

  • Anonymná: nemajú meno.
  • Funkčné rozhrania: používajú sa na implementáciu funkčných rozhraní.
  • Kompaktné: umožňujú písanie stručnejšieho kódu v porovnaní s anonymnými triedami.
  • Zachytávanie premenných: môžu zachytiť lokálne premenné efektívne finálne z okolia.

Použitie lambda výrazov zlepšuje čitateľnosť kódu a zjednodušuje prácu s API orientovanými na funkcionálne programovanie, napríklad s API Stream.