Назад к вопросам
Junior
69
questionbank
Что такое лямбда-выражения в Java?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Лямбда-выражение в Java — это краткий способ представления анонимных функций (функций без имени). Они используются для создания экземпляров функциональных интерфейсов.
Основные компоненты:
- Список параметров: Круглые скобки
()содержат список параметров. Если параметров нет, используются пустые скобки. - Стрелка
->: Отделяет список параметров от тела лямбда-выражения. - Тело: Может быть одиночным выражением или блоком кода в фигурных скобках
{}.
Пример без параметров:
// Функциональный интерфейс
@FunctionalInterface
interface Greeting {
void sayHello();
}
// Использование лямбда-выражения
Greeting greeting = () -> System.out.println("Hello, World!");
Пример с параметрами:
// Функциональный интерфейс
@FunctionalInterface
interface MathOperation {
int operate(int a, int b);
}
// Использование лямбда-выражения
MathOperation addition = (a, b) -> a + b;
MathOperation subtraction = (a, b) -> {
return a - b;
};
Преимущества:
- Краткость: Уменьшает объем boilerplate-кода.
- Удобство: Использование вместе со Stream API для обработки коллекций.
- Функциональное программирование: Поддержка элементов функционального программирования в Java.
Ограничения:
- Могут использоваться только с функциональными интерфейсами (интерфейсы с одним абстрактным методом).
- Не могут иметь состояния (т.е. не могут изменять переменные вне своего контекста, если эти переменные явно не объявлены final или effectively final).
Лямбда-выражения были введены в Java 8.