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