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.