Sobes.tech
Middle

Was sind Lambda-Ausdrücke in Java?

sobes.tech KI

Antwort von AI

Ausdruck in Java — das ist eine anonyme Funktion. Es ermöglicht, Funktionalität als Argument einer Methode oder als Code als Daten zu betrachten.

Hauptmerkmale:

  • Anonymität: Hat keinen Namen.
  • Funktionale Schnittstelle: Der Lambda-Ausdruck ist immer mit einer funktionalen Schnittstelle verbunden (Schnittstelle mit einer einzigen abstrakten Methode).
  • Syntax: (Parameter) -> { Körper }

Beispiel für die Verwendung mit der funktionalen Schnittstelle Consumer:

import java.util.function.Consumer;

// Die funktionale Schnittstelle Consumer<T> hat eine abstrakte Methode accept(T t)
Consumer<String> Begrüßung = (name) -> {
    System.out.println("Hallo, " + name);
};

Begrüßung.accept("Welt"); // Ausgabe: Hallo, Welt

Beispiel für die Verwendung mit der Schnittstelle Runnable:

// Die Schnittstelle Runnable hat eine abstrakte Methode run()
Runnable aufgabe = () -> {
    System.out.println("Aufgabe wird in einem separaten Thread ausgeführt");
};

new Thread(aufgabe).start(); // Startet die Aufgabe in einem neuen Thread

Syntax-Varianten:

  • Ohne Parameter: () -> { System.out.println("Hallo"); }
  • Ein Parameter ohne Klammern: name -> System.out.println("Hallo, " + name)
  • Mehrere Parameter mit Klammern und Typen: (int a, int b) -> { return a + b; }
  • Mehrere Parameter ohne Typen (Typinferenz): (a, b) -> a + b
  • Einzeiliger Körper ohne return: (a, b) -> a + b
  • Mehrzeiliger Körper mit geschweiften Klammern und return (falls erforderlich): (a, b) -> { int summe = a + b; return summe; }

Lambda-Ausdrücke machen den Code kompakter, lesbarer und ermöglichen die Verwendung funktionaler Programmierung in Java.