Middle
Czym są wyrażenia lambda w Java i jakie możliwości one zapewniają?
sobes.tech AI
Odpowiedź od AI
Wyrażenia lambda w Javie to anonimowe funkcje, które pozwalają pisać kod bardziej zwięźle, szczególnie podczas pracy z interfejsami funkcyjnymi. Składają się z bloku parametrów, strzałki -> i ciała funkcji.
Główne możliwości:
- Skracanie kodu: Usuwają konieczność tworzenia anonimowych klas wewnętrznych do implementacji interfejsów funkcyjnych.
- Programowanie funkcyjne: Ułatwiają stosowanie koncepcji programowania funkcyjnego, takich jak przekazywanie funkcji jako argumentów.
- Poprawa czytelności: W niektórych przypadkach sprawiają, że kod jest bardziej zrozumiały i łatwiejszy do percepcji.
- Praca z API Stream: Stanowią podstawę do efektywnej pracy z przepływami danych w Java 8 i nowszych wersjach.
Przykład:
// Tradycyjny sposób z klasą anonimową
Runnable traditionalRunnable = new Runnable() {
@Override
public void run() {
System.out.println("Witaj z tradycyjnego runnable");
}
};
// Z użyciem wyrażenia lambda
Runnable lambdaRunnable = () -> System.out.println("Witaj z lambda runnable");
Wyrażenie lambda jest przypisywane do interfejsu funkcyjnego — interfejsu z jednym metodą abstrakcyjną. Typ parametrów i wartość zwracana lambdy są określane przez sygnaturę tej metody abstrakcyjnej.