Sobes.tech
Middle

Mi az a lambda kifejezés Java-ban?

sobes.tech MI

Válasz az MI-től

A lambda kifejezés Java-ban névtelen függvény. Lehetővé teszi a funkcionalitás kezelését metódus argumentumaként vagy kódként adatként.

Fő jellemzők:

  • Névtelenség: Nincs neve.
  • Funkcionális interfész: A lambda kifejezés mindig egy funkcionális interfészhez kötött (egy absztrakt metódussal rendelkező interfész).
  • Szintaxis: (paraméterek) -> { törzs }

Példa a Consumer funkcionális interfész használatára:

import java.util.function.Consumer;

// A `Consumer<T>` funkcionális interfész egy absztrakt metódust tartalmaz: accept(T t)
Consumer<String> üdvözlés = (név) -> {
    System.out.println("Szia, " + név);
};

üdvözlés.accept("Világ"); // Kimenet: Szia, Világ

Példa a Runnable interfész használatára:

// A `Runnable` interfész egy absztrakt metódust tartalmaz: run()
Runnable feladat = () -> {
    System.out.println("A feladat egy külön szálon fut");
};

new Thread(feladat).start(); // Új szálon indítja a feladatot

Szintaxis variációk:

  • Paraméterek nélkül: () -> { System.out.println("Szia"); }
  • Egy paraméter, zárójelek nélkül: név -> System.out.println("Szia, " + név)
  • Több paraméter, zárójelek és típusok: (int a, int b) -> { return a + b; }
  • Több paraméter, típus nélkül (típus inferencia): (a, b) -> a + b
  • Egy soros törzs, return nélkül: (a, b) -> a + b
  • Többsoros törzs, kapcsos zárójelek és return (ha szükséges): (a, b) -> { int összeg = a + b; return összeg; }

A lambda kifejezések kompaktabbá teszik a kódot, olvashatóbbá és lehetővé teszik a funkcionális programozás használatát Java-ban.