Sobes.tech
Junior

Co jsou to lambda výrazy v Java?

sobes.tech AI

Odpověď od AI

Výraz lambda v Javě je anonymní funkce, která umožňuje předávat bloky kódu jako objekty. Je to kompaktní způsob implementace funkčních rozhraní (rozhraní s jednou abstraktní metodou).

Syntaxe lambda výrazu:

  • Seznam parametrů (může být prázdný).
  • Operátor ->.
  • Tělo výrazu (může být výraz nebo blok příkazů).

Příklady:

// Lambda pro funkční rozhraní Runnable
Runnable úkol = () -> System.out.println("Ahoj z lambda!");

// Lambda pro funkční rozhraní Comparator<Integer>
Comparator<Integer> srovnávač = (a, b) -> a.compareTo(b);

// Lambda s tělem z bloku příkazů
Consumer<String> pozdrav = jméno -> {
    String zpráva = "Ahoj, " + jméno + "!";
    System.out.println(zpráva);
};

Klíčové vlastnosti:

  • Anonymní: nemají jméno.
  • Funkční rozhraní: používají se k implementaci funkčních rozhraní.
  • Kompaktní: umožňují psát stručnější kód ve srovnání s anonymními třídami.
  • Zachytávání proměnných: mohou zachytit lokální proměnné efektivně finální z okolního kontextu.

Použití lambda výrazů zlepšuje čitelnost kódu a zjednodušuje práci s API orientovanými na funkcionální programování, například s API Stream.