Junior
Was sind Lambda-Ausdrücke in Java?
sobes.tech KI
Antwort von AI
Lambda-Ausdrücke in Java sind eine knappe Möglichkeit, anonyme Funktionen (Funktionen ohne Namen) darzustellen. Sie werden verwendet, um Instanzen funktionaler Schnittstellen zu erstellen.
Hauptkomponenten:
- Parameterliste: Die runden Klammern
()enthalten die Parameterliste. Wenn keine Parameter vorhanden sind, werden leere Klammern verwendet. - Pfeil
->: Trennt die Parameterliste vom Lambda-Körper. - Körper: Kann ein einzelner Ausdruck oder ein Codeblock in geschweiften Klammern
{}sein.
Beispiel ohne Parameter:
// Funktionale Schnittstelle
@FunctionalInterface
interface Greeting {
void sayHello();
}
// Verwendung des Lambda-Ausdrucks
Greeting greeting = () -> System.out.println("Hello, World!");
Beispiel mit Parametern:
// Funktionale Schnittstelle
@FunctionalInterface
interface MathOperation {
int operate(int a, int b);
}
// Verwendung des Lambda-Ausdrucks
MathOperation addition = (a, b) -> a + b;
MathOperation subtraction = (a, b) -> {
return a - b;
};
Vorteile:
- Kürze: Reduziert den Umfang des Boilerplate-Codes.
- Bequemlichkeit: Verwendung zusammen mit der Stream-API zur Verarbeitung von Sammlungen.
- Funktionale Programmierung: Unterstützung von Elementen der funktionalen Programmierung in Java.
Einschränkungen:
- Können nur mit funktionalen Schnittstellen verwendet werden (Schnittstellen mit einer einzigen abstrakten Methode).
- Können keinen Zustand haben (d.h., sie können Variablen außerhalb ihres Kontexts nicht ändern, wenn diese Variablen nicht explizit als final oder effektiv final deklariert sind).
Lambda-Ausdrücke wurden in Java 8 eingeführt.