Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

BiFunction

Функция двух аргументов.

Доступно с: Java 8

Синтаксис

@FunctionalInterface
public interface BiFunction<T, U, R> {
    R apply(T t, U u);
}

Примеры

Цена с учётом количества:

void main() {
    BiFunction<Double, Integer, Double> total = (price, qty) -> price * qty;
    IO.println(total.apply(2.5, 4));
}

Результат:

10.0

Примечания

Есть и другие «двойные» интерфейсы: BiConsumer (используется в Map.forEach()) и BiPredicate. Если оба аргумента и результат одного типа, удобнее BinaryOperator. Функций трёх аргументов в стандартной библиотеке нет — объявите свой интерфейс.

См. также

  • Function — Функция, которая принимает значение типа `T` и возвращает значение типа `R`.
  • BinaryOperator — Функция двух аргументов, где аргументы и результат одного типа.
  • Map.merge() — Добавляет значение по ключу или объединяет его с уже существующим.

В учебнике

  • Функциональные интерфейсы — Функциональные интерфейсы в Java: аннотация @FunctionalInterface, стандартные Function, Predicate, Consumer, Supplier и их комбинирование.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.