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