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,
returnné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.