Middle
Mis on funktsionaalsed liidesed? Milliseid tead? Mida nad võtavad ja mida tagastavad?
sobes.tech AI
Vastus AI-lt
Функциональные интерфейсы в 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
Таким образом, функциональные интерфейсы позволяют писать более компактный и выразительный код с использованием лямбд.