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