Junior
Какви са лямбда изразите в Java?
sobes.tech AI
Отговор от AI
Изразът lambda в Java е анонимна функция, която позволява предаване на блокове код като обекти. Това е компактна начин за реализиране на функционални интерфейси (интерфейси с един абстрактен метод).
Синтаксис на израза lambda:
- Списък с параметри (може да е празен).
- Оператор
->. - Тяло на израза (може да бъде израз или блок от инструкции).
Примери:
// Lambda за функционалния интерфейс Runnable
Runnable задача = () -> System.out.println("Здравей от lambda!");
// Lambda за функционалния интерфейс Comparator<Integer>
Comparator<Integer> сравнявач = (a, b) -> a.compareTo(b);
// Lambda с тяло от блок инструкции
Consumer<String> поздравител = име -> {
String съобщение = "Здравей, " + име + "!";
System.out.println(съобщение);
};
Ключови характеристики:
- Анонимна: нямат име.
- Функционални интерфейси: използват се за реализиране на функционални интерфейси.
- Кратка: позволяват по-компактен код в сравнение с анонимните класове.
- Заснемане на променливи: могат да заснемат
ефективно финалнилокални променливи от околния контекст.
Използването на lambda изрази подобрява четливостта на кода и улеснява работата с API, ориентирани към функционално програмиране, например с API Stream.