Назад к вопросам
Middle
71
questionbank
Что такое лямбда-выражения в Java?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Лямбда-выражение в Java — это анонимная функция. Оно позволяет рассматривать функциональность как аргумент метода или как код как данные.
Основные характеристики:
- Анонимность: Не имеет имени.
- Функциональный интерфейс: Лямбда-выражение всегда связано с функциональным интерфейсом (интерфейсом с одним абстрактным методом).
- Синтаксис:
(параметры) -> { тело }
Пример использования с функциональным интерфейсом Consumer:
import java.util.function.Consumer;
// Функциональный интерфейс Consumer<T> имеет один абстрактный метод accept(Т t)
Consumer<String> greeting = (name) -> {
System.out.println("Привет, " + name);
};
greeting.accept("Мир"); // Вывод: Привет, Мир
Пример использования с интерфейсом Runnable:
// Интерфейс Runnable имеет один абстрактный метод run()
Runnable task = () -> {
System.out.println("Задача выполняется в отдельном потоке");
};
new Thread(task).start(); // Запуск задачи в новом потоке
Синтаксические варианты:
- Без параметров:
() -> { System.out.println("Hello"); } - Один параметр без скобок:
name -> System.out.println("Привет, " + name) - Несколько параметров со скобками и типами:
(int a, int b) -> { return a + b; } - Несколько параметров со скобками без типов (вывод типов):
(a, b) -> a + b - Однострочное тело без
return:(a, b) -> a + b - Многострочное тело с фигурными скобками и
return(если требуется):(a, b) -> { int sum = a + b; return sum; }
Лямбда-выражения делают код более компактным, читаемым и позволяют использовать функциональное программирование в Java.