1272. Что такое функциональный интерфейс?
Функциональный интерфейс в Java - это интерфейс, который содержит только один абстрактный метод. Такой интерфейс может использоваться для создания лямбда-выражений, которые позволяют передавать функции в качестве параметров.
В Java 8 и новее в пакете java.util.function определены функциональные интерфейсы, такие как Predicate, Consumer, Supplier, Function, UnaryOperator и т.д. Они предназначены для использования в функциональном программировании и упрощают написание кода, который использует лямбда-выражения и методы ссылки.
Например, функциональный интерфейс Consumer определяет метод accept(T t), который принимает один параметр типа T и не возвращает значения. Это может быть использовано для выполнения каких-либо действий над объектом типа T. Пример:
Consumer<String> printer = str -> System.out.println(str);
printer.accept("Hello, world!");
Этот код создает объект printer, который принимает строку в качестве параметра и выводит ее на консоль. Затем он вызывает метод accept с аргументом "Hello, world!".