Sobes.tech
Junior

Cosa sono le espressioni lambda in Java?

sobes.tech AI

Risposta dell'AI

L'espressione lambda in Java è una funzione anonima che consente di passare blocchi di codice come oggetti. È un modo compatto per implementare interfacce funzionali (interfacce con un solo metodo astratto).

Sintassi dell'espressione lambda:

  • Elenco dei parametri (può essere vuoto).
  • Operatore ->.
  • Corpo dell'espressione (può essere un'espressione o un blocco di istruzioni).

Esempi:

// Lambda per l'interfaccia funzionale Runnable
Runnable compito = () -> System.out.println("Ciao da lambda!");

// Lambda per l'interfaccia funzionale Comparator<Integer>
Comparator<Integer> comparatore = (a, b) -> a.compareTo(b);

// Lambda con corpo di blocco di istruzioni
Consumer<String> saluto = nome -> {
    String messaggio = "Ciao, " + nome + "!";
    System.out.println(messaggio);
};

Caratteristiche principali:

  • Anonima: non hanno nome.
  • Interfacce funzionali: vengono utilizzate per implementare interfacce funzionali.
  • Concisa: consentono di scrivere codice più compatto rispetto alle classi anonime.
  • Cattura variabili: possono catturare variabili locali effettivamente finali dal contesto circostante.

L'uso delle espressioni lambda migliora la leggibilità del codice e semplifica il lavoro con API orientate alla programmazione funzionale, ad esempio, con l'API Stream.