Module java.base
Package java.util.function

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.

    @FunctionalInterfacepublic interfaceBinaryOperator<T>extendsBiFunction<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 ofBiFunction for the case where the operands and the result are all of the same type.

    This is afunctional interface whose functional method isBiFunction.apply(Object, Object).

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

      • minBy

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

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