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álnez 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.