Middle
Какви са лямбда изразите в Java и каква роля играят?
sobes.tech AI
Отговор от AI
Изразите lambda в Java са анонимни функции, които позволяват предаване на код като данни.
Ролята на изразите lambda:
- Улесняване на кода: Позволяват по-кратък и по-лесен за четене код, особено при работа с функционални интерфейси.
- Функционално програмиране: Подкрепят парадигмата на функционалното програмиране в Java, правейки го по-гъвкав.
- Подобряване на работата с колекции: Използват се в API Stream за операции като филтриране, картографиране и редукция.
- Намаляване на шаблонния код: Заменят в много случаи анонимните вътрешни класове.
Пример:
// Използване на анонимен вътрешен клас
Runnable classicRunnable = new Runnable() {
@Override
public void run() {
System.out.println("Здравей от стария начин!");
}
};
// Използване на лямбда
Runnable lambdaRunnable = () -> System.out.println("Здравей от лямбда!");
// Използване на лямбда с API Stream за филтриране
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
List<String> filteredNames = names.stream()
.filter(name -> name.startsWith("A"))
.collect(Collectors.toList());