Java 8常用函数式接口总结,需要说明的是,下面的列表有的同学看着可能晕菜,如果看不明白,那么需要先复习一下前面的章节,前面主要讲到的有Predicate、Consumer、Function,下面增加了更多的Java 8中的函数式接口的声明,我们要看明白,只要区分入参和返回类型即可,当然如果这些预置的函数式接口不满足你的需求,你完全可以自己定义函数式接口,来应用到lambda中。
Predicate
- 抽象方法
- boolean test(T t);
- 谓词(predicate) 在数学上常常用来代表一个类似函数的东西,它接受一个参数值,并返回true或false
- 函数描述符
- T->boolean
- 原始类型–函数式接口
- IntPredicate
- LongPredicate
- DoublePredicate
Consumer
- 抽象方法
- void accept(T t);
- 函数描述符
- T->void
- 原始类型–函数式接口
- InttConsumer
- LongtConsumer
- DoubletConsumer
Function
- 抽象方法
- R apply(T t);
- 函数描述符
- T->R
- 原始类型–函数式接口
- IntFunction, IntToDoubleFunction, IntToLongFunction, LongFunction, LongToDoubleFunction, LongToIntFunction, DoubleFunction, ToIntFunction, ToDoubleFunction, ToLongFunction
Supplier
- 抽象方法
- 函数描述符
- ()->T
- 原始类型–函数式接口
- BooleanSupplier, IntSupplier, LongSupplier, DoubleSupplier
UnaryOperator
- 抽象方法
- R apply(T t);
- 函数描述符
- T->R
- 原始类型–函数式接口
- IntUnaryOperator, LongUnaryOperator, DoubleUnaryOperator
BinaryOperator
- 抽象方法
- 函数描述符
- (T,T)->T
- 原始类型–函数式接口
- IntBinaryOperator, LongBinaryOperator, DoubleBinaryOperator
BiPredicate<L,R>
- 抽象方法
- 函数描述符
- (L,R)->boolean
- 原始类型–函数式接口
- 无
BiConsumer<T,U>
- 抽象方法
- 函数描述符
- (T,U)->void
- 原始类型–函数式接口
- ObjIntConsumer, ObjLongConsumer, ObjDoubleConsumer
BiFunction<T,U,R>
- 抽象方法
- 函数描述符
- (T,U)->R
- 原始类型–函数式接口
- ToIntBiFunction<T,U>, ToLongBiFunction<T,U>, ToDoubleBiFunction<T,U>