Sobes.tech
Middle

Cosa sono le espressioni lambda in Java e quale ruolo svolgono?

sobes.tech AI

Risposta dell'AI

Le espressioni lambda in Java sono funzioni anonime che consentono di passare il codice come dati.

Ruolo delle espressioni lambda:

  • Semplificazione del codice: Permettono di scrivere codice più breve e leggibile, specialmente quando si lavora con interfacce funzionali.
  • Programmazione funzionale: Supportano il paradigma della programmazione funzionale in Java, rendendolo più flessibile.
  • Miglioramento del lavoro con le collezioni: Sono usate nell'API Stream per operazioni come filtraggio, mappatura e riduzione.
  • Riduzione del codice boilerplate: Sostituiscono in molti casi le classi interne anonime.

Esempio:

// Uso di una classe interna anonima
Runnable classicRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Ciao dal vecchio modo!");
    }
};

// Uso di lambda
Runnable lambdaRunnable = () -> System.out.println("Ciao da lambda!");
// Uso di lambda con l'API Stream per filtrare
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
List<String> filteredNames = names.stream()
                                  .filter(name -> name.startsWith("A"))
                                  .collect(Collectors.toList());