JDK 8 提供的重要函数式接口:
Consumer (消费者)
- 功能:接收一个对象,返回void。
- 定义:void accept(T t)
- 默认方法:Consumer andThen(Consumer after)
Supplier (提供者)
- 功能:不接收参数,返回一个对象。
- 定义:T get()
- 默认方法:无
Function<T, R> (单参函数)
- 功能:接收一个参数,返回一个参数。可理解为初阶函数 f(x)
- 定义:R apply(T t)
- 默认方法:
- 组合 Function<V, R> compose(Function before)
- 颠倒组合 Function<V, R> compose(Function after)
- 返回自身 Function<T, T> identity()
UnaryOperator<T> extends Function<T, T> (同类型单参函数)
- 功能:接收一个参数,返回一个同类型参数。
- 定义:T apply(T t)
- 默认方法:
- 返回自身 UnaryOperator<T> identity()
BiFunction<T, U, R> (双参函数)
- 功能:接收两个参数,返回一个参数。可理解为初阶函数 f(x,y)
- 定义:R apply(T t, U u)
- 默认方法:BiFunction<T, U, V> andThen(Function<? super R, ? extends V> after)
BinaryOperator<T> extends BiFunction<T,T,T> (同类型双参操作)
- 功能:接收两个同类型参数,返回一个同类型参数。
- 定义:T apply(T t1, T t2)
- 默认方法:
- BinaryOperator<T> minBy(Comparator<? super T> comparator)
- BinaryOperator<T> maxBy(Comparator<? super T> comparator)
Predicate<T> (断言)
- 功能:接收一个参数,返回一个布尔值。
- 定义:boolean test(T t)
- 默认方法:
- Predicate<T> and(Predicate<? super T> other)
- Predicate<T> or(Predicate<? super T> other)
- Predicate<T> negate()
- Predicate<T> isEqual(Object targetRef)
JDK 8中重要的函数式接口(必知必会)
原文:https://www.cnblogs.com/1626ace/p/13193424.html