Middle
Czym są wyrażenia lambda w Java i jaką odgrywają rolę?
sobes.tech AI
Odpowiedź od AI
Wyrażenia lambda w Java to anonimowe funkcje, które pozwalają przekazywać kod jako dane.
Rola wyrażeń lambda:
- Uproszczenie kodu: Pozwalają pisać krótszy i czytelniejszy kod, szczególnie przy pracy z interfejsami funkcyjnymi.
- Programowanie funkcyjne: Wspierają paradygmat programowania funkcyjnego w Java, czyniąc go bardziej elastycznym.
- Ulepszenie pracy z kolekcjami: Są używane w API Stream do wykonywania operacji takich jak filtrowanie, mapowanie i redukcja.
- Zmniejszenie szablonowego kodu: Zastępują anonimowe klasy wewnętrzne w wielu przypadkach.
Przykład:
// Użycie anonimowej klasy wewnętrznej
Runnable classicRunnable = new Runnable() {
@Override
public void run() {
System.out.println("Witaj ze starej metody!");
}
};
// Użycie wyrażenia lambda
Runnable lambdaRunnable = () -> System.out.println("Witaj z lambda!");
// Użycie lambda z API Stream do filtrowania
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
List<String> filteredNames = names.stream()
.filter(name -> name.startsWith("A"))
.collect(Collectors.toList());