Функциональные интерфейсы Function<T,R>, DoubleFunction<R>, IntFunction<R> и LongFunction<R> предназначены для работы с лямбда-выражениями и представляют функции, которые принимают один или несколько аргументов и возвращают результат.
- Function<T,R> принимает один аргумент типа T и возвращает результат типа R. Он может использоваться для преобразования объектов одного типа в объекты другого типа.
- DoubleFunction<R> принимает один аргумент типа double и возвращает результат типа R.
- IntFunction<R> принимает один аргумент типа int и возвращает результат типа R.
- LongFunction<R> принимает один аргумент типа long и возвращает результат типа R.
Эти интерфейсы могут использоваться вместе с лямбда-выражениями для определения различных функций, например для преобразования данных, обработки числовых значений и т.д.
Пример использования Function<T,R> в лямбда-выражении:
Function<Integer, Integer> multiplyByTwo = x -> x * 2;
int result = multiplyByTwo.apply(5); // результат: 10
Пример использования IntFunction в лямбда-выражении:
IntFunction<String> intToString = x -> Integer.toString(x);
String result = intToString.apply(5); // результат: "5"
Пример использования DoubleFunction в лямбда-выражении:
DoubleFunction<Integer> roundUp = x -> (int) Math.ceil(x);
int result = roundUp.apply(4.2); // результат: 5
Пример использования LongFunction в лямбда-выражении:
LongFunction<String> longToString = x -> Long.toString(x);
String result = longToString.apply(5000000000L);
// результат: "5000000000"
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov