Что такое функциональные интерфейсы? Какие знаешь? Что принимают и что возвращают?

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Основные функциональные интерфейсы из пакета java.util.function:

  • Function<T, R> — принимает объект типа T, возвращает объект типа R.
  • Consumer<T> — принимает объект типа T, ничего не возвращает (void).
  • Supplier<T> — не принимает аргументов, возвращает объект типа T.
  • Predicate<T> — принимает объект типа T, возвращает boolean.
  • UnaryOperator<T> — принимает и возвращает объект типа T (специализация Function).
  • BinaryOperator<T> — принимает два объекта типа T, возвращает объект типа T.

Пример использования Function:

Function<String, Integer> lengthFunc = s -> s.length();
int len = lengthFunc.apply("hello"); // 5

Таким образом, функциональные интерфейсы позволяют писать более компактный и выразительный код с использованием лямбд.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее