Junior
Mi az a lambda kifejezés Java-ban?
sobes.tech MI
Válasz az MI-től
A lambda kifejezés Java-ban egy névtelen (név nélküli) függvény, amely egy funkcionális interfészt valósít meg.
Fő jellemzők:
- Nincs nevük.
- Paramétereket vehetnek fel.
- A test egyetlen kifejezésből vagy utasításblokkból állhat.
- A visszatérési típus nincs megadva (automatikusan kikövetkeztetett).
- Szükséges a funkcionális programozáshoz és a stream-ek (Streams API) kezeléséhez.
Szintaxis:
// Paraméter nélkül
() -> { // test }
// Egy paraméterrel (a típus elhagyható)
param -> kifejezés
// Több paraméterrel (a típus elhagyható, szükség van zárójelekre)
(param1, param2) -> { // test }
Használati példa:
// Funkcionális interfész (beépített)
import java.util.function.Consumer;
// Lambda-val való megvalósítás
Consumer<String> nyomtató = s -> System.out.println(s);
nyomtató.accept("Helló világ!");
// Használat olyan metódusban, amely elfogad egy funkcionális interfészt
import java.util.Arrays;
import java.util.List;
List<Integer> számok = Arrays.asList(1, 2, 3, 4, 5);
számok.forEach(n -> System.out.println(n)); // forEach Consumer-t fogad
Előnyök:
- Rövidebb kód.
- Egyszerű esetekben jobb olvashatóság.
- Lehetővé teszi a funkcionális programozás használatát.
- Egyszerűsíti a kollekciókkal és a több szálú feldolgozással való munkát.
Korlátok:
- A beágyazott vagy hosszú lambdák nehezen érthetőek lehetnek.
- Nincs állapota (nem lehetnek példánymezőik).