Middle
Co jsou to lambda výrazy v Javě?
sobes.tech AI
Odpověď od AI
Výraz lambda v jazyce Java je anonymní funkce. Umožňuje považovat funkčnost za argument metody nebo jako kód jako data.
Hlavní vlastnosti:
- Anonymita: Nemá jméno.
- Funkční rozhraní: Lambda výraz je vždy spojen s funkčním rozhraním (rozhraní s jednou abstraktní metodou).
- Syntaxe:
(parametry) -> { tělo }
Příklad použití s funkčním rozhraním Consumer:
import java.util.function.Consumer;
// Funkční rozhraní Consumer<T> má jednu abstraktní metodu accept(T t)
Consumer<String> pozdrav = (jmeno) -> {
System.out.println("Ahoj, " + jmeno);
};
pozdrav.accept("Svět"); // Výstup: Ahoj, Svět
Příklad použití s rozhraním Runnable:
// Rozhraní Runnable má jednu abstraktní metodu run()
Runnable úloha = () -> {
System.out.println("Úloha se provádí v samostatném vlákně");
};
new Thread(úloha).start(); // Spustí úlohu v novém vlákně
Variace syntaxe:
- Bez parametrů:
() -> { System.out.println("Ahoj"); } - Jeden parametr bez závorek:
jmeno -> System.out.println("Ahoj, " + jmeno) - Více parametrů se závorkami a typy:
(int a, int b) -> { return a + b; } - Více parametrů bez typů (tvar odhadu):
(a, b) -> a + b - Jednořádkové tělo bez
return:(a, b) -> a + b - Víceřádkové tělo s složenými závorkami a
return(pokud je potřeba):(a, b) -> { int soucet = a + b; return soucet; }
Lambda výrazy činí kód kompaktnějším, čitelnějším a umožňují využití funkcionálního programování v jazyce Java.