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.