Junior
Cosa sono le espressioni lambda in Java?
sobes.tech AI
Risposta dell'AI
L'espressione lambda in Java è un modo conciso per rappresentare funzioni anonime (funzioni senza nome). Viene utilizzata per creare istanze di interfacce funzionali.
Componenti principali:
- Lista dei parametri: Le parentesi
()contengono la lista dei parametri. Se non ci sono parametri, si usano parentesi vuote. - Freccia
->: Separa la lista dei parametri dal corpo della lambda. - Corpo: Può essere un'espressione singola o un blocco di codice tra parentesi graffe
{}.
Esempio senza parametri:
// Interfaccia funzionale
@FunctionalInterface
interface Greeting {
void sayHello();
}
// Uso della lambda
Greeting greeting = () -> System.out.println("Hello, World!");
Esempio con parametri:
// Interfaccia funzionale
@FunctionalInterface
interface MathOperation {
int operate(int a, int b);
}
// Uso della lambda
MathOperation addition = (a, b) -> a + b;
MathOperation subtraction = (a, b) -> {
return a - b;
};
Vantaggi:
- Concisione: Riduce la quantità di codice boilerplate.
- Comodità: Utilizzo insieme all'API Stream per l'elaborazione di collezioni.
- Programmazione funzionale: Supporta elementi di programmazione funzionale in Java.
Limitazioni:
- Può essere usata solo con interfacce funzionali (interfacce con un solo metodo astratto).
- Non può avere stato (cioè, non può modificare variabili esterne al suo contesto, se queste variabili non sono dichiarate esplicitamente come final o effective final).
Le espressioni lambda sono state introdotte in Java 8.