Функциональные интерфейсы UnaryOperator, DoubleUnaryOperator, IntUnaryOperator и LongUnaryOperator в Java представляют функции, которые принимают один аргумент и возвращают результат того же типа, что и аргумент (за исключением DoubleUnaryOperator, который может возвращать результат другого числового типа). Они являются частью пакета java.util.function, который был представлен в Java 8 для поддержки функционального программирования.
UnaryOperator принимает один аргумент типа T и возвращает значение того же типа. DoubleUnaryOperator, IntUnaryOperator и LongUnaryOperator работают аналогично, но принимают аргументы типов double, int и long соответственно.
Пример использования UnaryOperator:
UnaryOperator<String> upperCase = str -> str.toUpperCase();
System.out.println(upperCase.apply("hello"));
Этот код создает объект UnaryOperator, который берет строку и преобразует ее в верхний регистр. Затем он вызывает метод apply() этого объекта на строке "hello", что приводит к выводу строки "HELLO".
Таким образом, эти функциональные интерфейсы позволяют передавать функции как параметры в методы, а также использовать их для создания лямбда-выражений и ссылок на методы.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov