关于函数式FunctionalInterface介绍的文章

作者: jekkay 分类: java 发布时间: 2019-04-08 20:00

## 关于函数式FunctionalInterface介绍的文章

* Java8 — 函数式接口@FunctionalInterface及default关键字

JDK 8里面的FunctionalInterface列表
FunctionalInterface列表

简要说明:
* BiConsumer<T, U>

   /**
     * Performs this operation on the given arguments.
     *
     * @param t the first input argument
     * @param u the second input argument
     */
    void accept(T t, U u);
  • BiFunction<T, U, R>
/**
     * Applies this function to the given arguments.
     *
     * @param t the first function argument
     * @param u the second function argument
     * @return the function result
     */
    R apply(T t, U u);
  • BinaryOperator extends BiFunction<T,T,T>
public static <T> BinaryOperator<T> minBy(
    Comparator<? super T> comparator) {
        Objects.requireNonNull(comparator);
        return (a, b) -> comparator.compare(a, b) <= 0 ? a : b;
    }
  • BiPredicate<T, U>
/**
     * Evaluates this predicate on the given arguments.
     *
     * @param t the first input argument
     * @param u the second input argument
     * @return {@code true} if the input arguments match the predicate,
     * otherwise {@code false}
     */
    boolean test(T t, U u);
  • BooleanSupplier
/**
     * Gets a result.
     *
     * @return a result
     */
    boolean getAsBoolean();
  • Consumer
/**
     * Performs this operation on the given argument.
     *
     * @param t the input argument
     */
    void accept(T t);
  • DoubleBinaryOperator
/**
     * Applies this operator to the given operands.
     *
     * @param left the first operand
     * @param right the second operand
     * @return the operator result
     */
    double applyAsDouble(double left, double right);
  • DoubleConsumer
/**
     * Performs this operation on the given argument.
     *
     * @param value the input argument
     */
    void accept(double value);
  • DoubleFunction
/**
     * Applies this function to the given argument.
     *
     * @param value the function argument
     * @return the function result
     */
    R apply(double value);
  • DoublePredicate
/**
     * Evaluates this predicate on the given argument.
     *
     * @param value the input argument
     * @return {@code true} if the input argument matches the predicate,
     * otherwise {@code false}
     */
    boolean test(double value);
  • DoubleSupplier
/**
     * Gets a result.
     *
     * @return a result
     */
    double getAsDouble();
  • DoubleToIntFunction
/**
     * Applies this function to the given argument.
     *
     * @param value the function argument
     * @return the function result
     */
    int applyAsInt(double value);
  • DoubleToLongFunction
/**
     * Applies this function to the given argument.
     *
     * @param value the function argument
     * @return the function result
     */
    long applyAsLong(double value);
  • DoubleUnaryOperator
/**
     * Applies this operator to the given operand.
     *
     * @param operand the operand
     * @return the operator result
     */
    double applyAsDouble(double operand);
  • Function<T, R>
/**
     * Applies this function to the given argument.
     *
     * @param t the function argument
     * @return the function result
     */
    R apply(T t);
  • IntBinaryOperator
/**
     * Applies this operator to the given operands.
     *
     * @param left the first operand
     * @param right the second operand
     * @return the operator result
     */
    int applyAsInt(int left, int right);
  • IntConsumer
/**
     * Performs this operation on the given argument.
     *
     * @param value the input argument
     */
    void accept(int value);
  • IntFunction
/**
     * Applies this function to the given argument.
     *
     * @param value the function argument
     * @return the function result
     */
    R apply(int value);
  • IntPredicate
/**
     * Evaluates this predicate on the given argument.
     *
     * @param value the input argument
     * @return {@code true} if the input argument matches the predicate,
     * otherwise {@code false}
     */
    boolean test(int value);
  • IntSupplier
/**
     * Gets a result.
     *
     * @return a result
     */
    int getAsInt();
  • IntToDoubleFunction
 /**
     * Applies this function to the given argument.
     *
     * @param value the function argument
     * @return the function result
     */
    double applyAsDouble(int value);
  • IntToLongFunction
/**
     * Applies this function to the given argument.
     *
     * @param value the function argument
     * @return the function result
     */
    long applyAsLong(int value);
  • IntUnaryOperator
/**
     * Applies this operator to the given operand.
     *
     * @param operand the operand
     * @return the operator result
     */
    int applyAsInt(int operand);
  • LongBinaryOperator
/**
     * Applies this operator to the given operands.
     *
     * @param left the first operand
     * @param right the second operand
     * @return the operator result
     */
    long applyAsLong(long left, long right);
  • LongConsumer
/**
     * Performs this operation on the given argument.
     *
     * @param value the input argument
     */
    void accept(long value);
  • LongFunction
/**
     * Applies this function to the given argument.
     *
     * @param value the function argument
     * @return the function result
     */
    R apply(long value);
  • LongPredicate
/**
     * Evaluates this predicate on the given argument.
     *
     * @param value the input argument
     * @return {@code true} if the input argument matches the predicate,
     * otherwise {@code false}
     */
    boolean test(long value);
  • LongSupplier
/**
     * Gets a result.
     *
     * @return a result
     */
    long getAsLong();
  • LongToDoubleFunction
 /**
     * Applies this function to the given argument.
     *
     * @param value the function argument
     * @return the function result
     */
    double applyAsDouble(long value);
  • LongToIntFunction
/**
     * Applies this function to the given argument.
     *
     * @param value the function argument
     * @return the function result
     */
    int applyAsInt(long value);
  • LongUnaryOperator
/**
     * Applies this operator to the given operand.
     *
     * @param operand the operand
     * @return the operator result
     */
    long applyAsLong(long operand);
  • ObjDoubleConsumer
/**
     * Performs this operation on the given arguments.
     *
     * @param t the first input argument
     * @param value the second input argument
     */
    void accept(T t, double value);
  • ObjIntConsumer
/**
     * Performs this operation on the given arguments.
     *
     * @param t the first input argument
     * @param value the second input argument
     */
    void accept(T t, int value);
  • ObjLongConsumer
/**
     * Performs this operation on the given arguments.
     *
     * @param t the first input argument
     * @param value the second input argument
     */
    void accept(T t, long value);
  • Predicate
/**
     * Evaluates this predicate on the given argument.
     *
     * @param t the input argument
     * @return {@code true} if the input argument matches the predicate,
     * otherwise {@code false}
     */
    boolean test(T t);
  • Supplier
/**
     * Gets a result.
     *
     * @return a result
     */
    T get();
  • ToDoubleBiFunction<T, U>
/**
     * Applies this function to the given arguments.
     *
     * @param t the first function argument
     * @param u the second function argument
     * @return the function result
     */
    double applyAsDouble(T t, U u);
  • ToDoubleFunction
/**
     * Applies this function to the given argument.
     *
     * @param value the function argument
     * @return the function result
     */
    double applyAsDouble(T value);
  • ToIntBiFunction<T, U>
/**
     * Applies this function to the given arguments.
     *
     * @param t the first function argument
     * @param u the second function argument
     * @return the function result
     */
    int applyAsInt(T t, U u);
  • ToIntFunction
/**
     * Applies this function to the given argument.
     *
     * @param value the function argument
     * @return the function result
     */
    int applyAsInt(T value);
  • ToLongBiFunction<T, U>
 /**
     * Applies this function to the given arguments.
     *
     * @param t the first function argument
     * @param u the second function argument
     * @return the function result
     */
    long applyAsLong(T t, U u);
  • ToLongFunction
/**
     * Applies this function to the given argument.
     *
     * @param value the function argument
     * @return the function result
     */
    long applyAsLong(T value);
  • UnaryOperator extends Function<T, T>
/**
     * Returns a unary operator that always returns its input argument.
     *
     * @param <T> the type of the input and output of the operator
     * @return a unary operator that always returns its input argument
     */
    static <T> UnaryOperator<T> identity() {
        return t -> t;
    }

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。