Sobes.tech
Middle

Čo sú to lambda výrazy v Jave a aké možnosti poskytujú?

sobes.tech AI

Odpoveď od AI

Výrazy lambda v Jave sú anonymné funkcie, ktoré umožňujú stručnejšie písanie kódu, najmä pri práci s funkčnými rozhraniami. Skladajú sa z bloku parametrov, šípky -> a tela funkcie.

Hlavné možnosti:

  • Zníženie kódu: Odstraňujú potrebu vytvárania anonymných vnútorných tried na implementáciu funkčných rozhraní.
  • Funkcionálne programovanie: Uľahčujú aplikáciu konceptov funkcionálneho programovania, ako je odovzdávanie funkcií ako argumentov.
  • Zlepšenie čitateľnosti: V niektorých prípadoch robia kód zrozumiteľnejším a ľahšie pochopiteľným.
  • Práca s API Stream: Sú základom pre efektívnu prácu s dátovými tokmi v Jave 8 a novších verziách.

Príklad:

// Tradičný spôsob s anonymnou triedou
Runnable traditionalRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Ahoj z tradičného runnable");
    }
};

// S použitím lambda výrazu
Runnable lambdaRunnable = () -> System.out.println("Ahoj z lambda runnable");

Lambda výraz sa viaže na funkčné rozhranie — rozhranie s jednou abstraktnou metódou. Typ parametrov a návratová hodnota lambda sú určené podpisom tejto abstraktnej metódy.