Лямбда-выражение в Java — это анонимная функция, которая не принадлежит какому-либо классу и может быть передана как объект.
Синтаксис: (параметры) -> { тело }
Возможности:
- Функциональный интерфейс: Лямбда-выражение может быть назначено переменной типа функционального интерфейса (интерфейса с одним абстрактным методом).
java
- Упрощение написания кода: Заменяют анонимные внутренние классы для реализации функциональных интерфейсов.
java
- Использование в Stream API: Интегрируются с Stream API для выполнения операций над коллекциями.
java
- Отложенное выполнение: Код внутри лямбда-выражения выполняется только при вызове функционального метода.
- Области видимости: Лямбда-выражения могут захватывать переменные из внешней области видимости (локальные переменные должны быть финальными или effectively final).
| Преимущество | Описание |
|---|
| Краткость кода | Уменьшает "многословность" по сравнению с анонимными классами. |
| Улучшенная читаемость | Код становится более лаконичным и понятным. |
| Параллельная обработка | Поддерживается Stream API для параллельных операций. |