Junior
Czym są wyrażenia lambda w Java?
sobes.tech AI
Odpowiedź od AI
Wyrażenie lambda w Javie to anonimowa funkcja, która pozwala na przekazywanie bloków kodu jako obiektów. Jest to zwięzły sposób implementacji interfejsów funkcyjnych (interfejsów z jednym metodą abstrakcyjną).
Składnia wyrażenia lambda:
- Lista parametrów (może być pusta).
- Operator
->. - Ciało wyrażenia (może być wyrażeniem lub blokiem instrukcji).
Przykłady:
// Lambda dla interfejsu funkcyjnego Runnable
Runnable zadanie = () -> System.out.println("Witaj z lambda!");
// Lambda dla interfejsu funkcyjnego Comparator<Integer>
Comparator<Integer> porownywacz = (a, b) -> a.compareTo(b);
// Lambda z ciałem z blokiem instrukcji
Consumer<String> powitanie = imie -> {
String wiadomosc = "Witaj, " + imie + "!";
System.out.println(wiadomosc);
};
Kluczowe cechy:
- Anonimowe: nie mają nazwy.
- Interfejsy funkcyjne: służą do implementacji interfejsów funkcyjnych.
- Zwięzłe: pozwalają pisać bardziej zwięzły kod w porównaniu do klas anonimowych.
- Przechwytywanie zmiennych: mogą przechwytywać lokalne zmienne
efektywnie finalnez otaczającego kontekstu.
Użycie wyrażeń lambda poprawia czytelność kodu i upraszcza pracę z API zorientowanymi na programowanie funkcyjne, np. z API Stream.