Sobes.tech
Junior

Wat zijn lambda-uitdrukkingen in Java?

sobes.tech AI

Antwoord van AI

De lambda-uitdrukking in Java is een beknopte manier om anonieme functies (functies zonder naam) weer te geven. Ze worden gebruikt om instanties van functionele interfaces te maken.

Belangrijkste componenten:

  • Parameterslijst: De ronde haakjes () bevatten de lijst met parameters. Als er geen parameters zijn, worden lege haakjes gebruikt.
  • Pijl ->: Scheidt de parameterslijst van de lambda-body.
  • Body: Kan een enkele uitdrukking of een codeblok tussen accolades {} zijn.

Voorbeeld zonder parameters:

// Functionele interface
@FunctionalInterface
interface Greeting {
    void sayHello();
}

// Gebruik van de lambda-uitdrukking
Greeting greeting = () -> System.out.println("Hello, World!");

Voorbeeld met parameters:

// Functionele interface
@FunctionalInterface
interface MathOperation {
    int operate(int a, int b);
}

// Gebruik van de lambda-uitdrukking
MathOperation addition = (a, b) -> a + b;
MathOperation subtraction = (a, b) -> {
    return a - b;
};

Voordelen:

  • Beknoptheid: Vermindert de hoeveelheid boilerplate-code.
  • Gemak: Gebruik samen met de Stream API voor het verwerken van collecties.
  • Functioneel programmeren: Ondersteunt elementen van functioneel programmeren in Java.

Beperkingen:

  • Kan alleen worden gebruikt met functionele interfaces (interfaces met één abstracte methode).
  • Kan geen toestand hebben (d.w.z. kan variabelen buiten de context niet wijzigen, tenzij deze expliciet als final of effectief final zijn gedeclareerd).

Lambda-uitdrukkingen zijn geïntroduceerd in Java 8.