Sobes.tech
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.