Junior
73
questionbank

Что такое лямбда-выражение в Java?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Лямбда-выражение в Java — это анонимная функция, которая позволяет представить экземпляры функциональных интерфейсов в более краткой форме.

Особенности:

  • Отсутствие имени: У лямбды нет имени, она определяется "на лету".
  • Отсутствие модификаторов доступа: Не имеет public, private и т.д.
  • Отсутствие возвращаемого типа: Возвращаемый тип компилятор определяет автоматически.
  • Тело: Может быть выражением (не нужно ключевое слово return) или блоком кода.
  • Параметры: Передаются в скобках, типы могут быть опущены, если компилятор может их вывести.

Синтаксис:

параметры -> тело

Примеры:

  • Без параметров: () -> System.out.println("Hello")
  • С одним параметром: x -> x * x
  • Со множеством параметров: (a, b) -> a + b
  • С явным указанием типов: (int x, int y) -> x + y
  • С блоком кода:
    java

Функциональный интерфейс — интерфейс с одним абстрактным методом. Лямбда-выражение реализует этот абстрактный метод.

java
java

Преимущества:

  • Краткость: Уменьшает количество бойлерплейт-кода.
  • Функциональное программирование: Позволяет использовать подходы функционального программирования (например, при работе с потоками Stream API).
  • Читаемость: В некоторых случаях делает код более понятным, особенно при передаче простых блоков логики.

Лямбда-выражения были введены в Java 8.