Module java.base

Interface BinaryOperator<T>

Type Parameters:
T - the type of the operands and result of the operator
All Superinterfaces:
BiFunction<T,​T,​T>
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface
public interface BinaryOperator<T>
extends BiFunction<T,​T,​T>
Represents an operation upon two operands of the same type, producing a result of the same type as the operands. This is a specialization of BiFunction for the case where the operands and the result are all of the same type.

This is a functional interface whose functional method is BiFunction.apply(Object, Object).

Since:
1.8
See Also:
BiFunction, UnaryOperator
  • Method Details

    • minBy

      static <T> BinaryOperator<T> minBy​(Comparator<? super T> comparator)
      Returns a BinaryOperator which returns the lesser of two elements according to the specified Comparator.
      Type Parameters:
      T - the type of the input arguments of the comparator
      Parameters:
      comparator - a Comparator for comparing the two values
      Returns:
      a BinaryOperator which returns the lesser of its operands, according to the supplied Comparator
      Throws:
      NullPointerException - if the argument is null
    • maxBy

      static <T> BinaryOperator<T> maxBy​(Comparator<? super T> comparator)
      Returns a BinaryOperator which returns the greater of two elements according to the specified Comparator.
      Type Parameters:
      T - the type of the input arguments of the comparator
      Parameters:
      comparator - a Comparator for comparing the two values
      Returns:
      a BinaryOperator which returns the greater of its operands, according to the supplied Comparator
      Throws:
      NullPointerException - if the argument is null