Junior
Co jsou to lambda výrazy v Java?
sobes.tech AI
Odpověď od AI
Výraz lambda v jazyce Java je stručný způsob, jak reprezentovat anonymní funkce (funkce bez jména). Používají se k vytváření instancí funkčních rozhraní.
Hlavní komponenty:
- Seznam parametrů: Kulaté závorky
()obsahují seznam parametrů. Pokud parametrů není, používají se prázdné závorky. - Šipka
->: Odděluje seznam parametrů od těla lambda výrazu. - Tělo: Může být jediným výrazem nebo blokem kódu v závorkách
{}.
Příklad bez parametrů:
// Funkční rozhraní
@FunctionalInterface
interface Greeting {
void sayHello();
}
// Použití lambda výrazu
Greeting greeting = () -> System.out.println("Hello, World!");
Příklad s parametry:
// Funkční rozhraní
@FunctionalInterface
interface MathOperation {
int operate(int a, int b);
}
// Použití lambda výrazu
MathOperation addition = (a, b) -> a + b;
MathOperation subtraction = (a, b) -> {
return a - b;
};
Výhody:
- Stručnost: Snižuje objem boilerplate kódu.
- Pohodlí: Použití spolu s API Stream pro zpracování kolekcí.
- Funkcionální programování: Podpora prvků funkcionálního programování v jazyce Java.
Omezení:
- Lze použít pouze s funkčními rozhraními (rozhraními s jednou abstraktní metodou).
- Nemohou mít stav (tj. nemohou měnit proměnné mimo svůj kontext, pokud tyto proměnné nejsou výslovně deklarovány jako final nebo efektivně final).
Výrazy lambda byly zavedeny v Java 8.