Sobes.tech
Назад к вопросам
Middle
6

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

Компании, где спрашивали
СБЕРСБЕР

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

sobes.tech AI

Функциональные интерфейсы в 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

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