Middle
Wat zijn lambda-uitdrukkingen in Java?
sobes.tech AI
Antwoord van AI
Expressie in Java — dit is een anonieme functie. Het stelt je in staat om functionaliteit te beschouwen als een argument van een methode of als code als gegevens.
Belangrijkste kenmerken:
- Anonimiteit: Heeft geen naam.
- Functioneel interface: De lambda-uitdrukking is altijd gekoppeld aan een functioneel interface (interface met één abstracte methode).
- Syntax:
(parameters) -> { lichaam }
Voorbeeld van gebruik met de functionele interface Consumer:
import java.util.function.Consumer;
// De functionele interface Consumer<T> heeft één abstracte methode accept(T t)
Consumer<String> begroeting = (naam) -> {
System.out.println("Hallo, " + naam);
};
begroeting.accept("Wereld"); // Output: Hallo, Wereld
Voorbeeld van gebruik met de interface Runnable:
// De interface Runnable heeft één abstracte methode run()
Runnable taak = () -> {
System.out.println("Taak wordt uitgevoerd in een aparte thread");
};
new Thread(taak).start(); // Start de taak in een nieuwe thread
Syntactische varianten:
- Zonder parameters:
() -> { System.out.println("Hallo"); } - Eén parameter zonder haakjes:
naam -> System.out.println("Hallo, " + naam) - Meerdere parameters met haakjes en types:
(int a, int b) -> { return a + b; } - Meerdere parameters zonder types (tijlinferentie):
(a, b) -> a + b - Eénregelige body zonder
return:(a, b) -> a + b - Meerregelige body met accolades en
return(indien nodig):(a, b) -> { int som = a + b; return som; }
Lambda-uitdrukkingen maken de code compacter, leesbaarder en maken het gebruik van functioneel programmeren in Java mogelijk.