Sobes.tech
Junior
88
questionbank

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

Ответ от нейросети

sobes.tech AI

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

Синтаксис лямбда-выражения:

  • Список параметров (может быть пустым).
  • Оператор ->.
  • Тело выражения (может быть выражением или блоком операторов).

Примеры:

// Лямбда для функционального интерфейса Runnable
Runnable task = () -> System.out.println("Hello from lambda!");

// Лямбда для функционального интерфейса Comparator<Integer>
Comparator<Integer> comparator = (a, b) -> a.compareTo(b);

// Лямбда с телом из блока операторов
Consumer<String> greeter = name -> {
    String message = "Hello, " + name + "!";
    System.out.println(message);
};

Ключевые особенности:

  • Анонимность: не имеют имени.
  • Функциональные интерфейсы: используются для реализации функциональных интерфейсов.
  • Конлаконичность: позволяют писать более компактный код по сравнению с анонимными классами.
  • Захват переменных: могут захватывать эффективно финальные локальные переменные из окружающего контекста.

Использование лямбда-выражений улучшает читаемость кода и упрощает работу с API, ориентированными на функциональное программирование, например, с Stream API.