Junior
Was sind Lambda-Ausdrücke in Java?
sobes.tech KI
Antwort von AI
Lambda-Ausdruck in Java ist eine anonyme Funktion (ohne Namen), die eine funktionale Schnittstelle implementiert.
Hauptmerkmale:
- Haben keinen Namen.
- Können Parameter haben.
- Der Körper kann aus einem einzelnen Ausdruck oder einem Block von Anweisungen bestehen.
- Der Rückgabetyp wird nicht angegeben (wird automatisch abgeleitet).
- Notwendig für funktionale Programmierung und die Arbeit mit Streams API.
Syntax:
// Ohne Parameter
() -> { // Körper }
// Mit einem Parameter (Typ kann weggelassen werden)
parameter -> Ausdruck
// Mit mehreren Parametern (Typ kann weggelassen werden, Klammern sind erforderlich)
(param1, param2) -> { // Körper }
Beispiel:
// Funktionale Schnittstelle (eingebaut)
import java.util.function.Consumer;
// Implementierung mit Lambda
Consumer<String> drucker = s -> System.out.println(s);
drucker.accept("Hallo Welt!");
// Verwendung in einer Methode, die eine funktionale Schnittstelle akzeptiert
import java.util.Arrays;
import java.util.List;
List<Integer> zahlen = Arrays.asList(1, 2, 3, 4, 5);
zahlen.forEach(n -> System.out.println(n)); // forEach akzeptiert Consumer
Vorteile:
- Kürzerer Code.
- Verbesserte Lesbarkeit (bei einfachen Fällen).
- Möglichkeit, funktionale Programmierung zu nutzen.
- Vereinfachung der Arbeit mit Sammlungen und Multithreading.
Einschränkungen:
- Verschachtelte oder lange Lambdas können schwer verständlich sein.
- Haben keinen Zustand (können keine Instanzfelder haben).