Java8中的常用函数式接口

2019-02-12  本文已影响0人  单纯小码农
函数式接口 函数描述符 原始类型特化
Predicate<T> T -> boolean IntPredicate
LongPredicate
DoublePredicate
Consumer<T> T -> void IntConsumer
LongConsumer
DoubleConsumer
Function<T, R> T -> R IntFunction<R>
IntToDoubleFunction
IntToLongFunction
LongFunction<R>
LongToDoubleFunction
LongToIntFunction
DoubleFunction<R>
ToIntFunction<T>
ToDoubleFunction<T>
ToLongFunction<T>
Supplier<T> () -> T BooleanSupplier
IntSupplier
LongSupplier
DoubleSupplier
UnaryOperator<T> T -> T IntUnaryOperator
LongUnaryOperator
DoubleUnaryOperator
BinaryOperator<T> (T, T) -> T IntBinaryOperator
LongBinaryOperator
DoubleBinaryOperator
BiPredicate<L, R> (L, R) -> boolean
BiConsumer<T, U> (T, U) -> void ObjIntConsumer<T>
ObjLongConsumer<T>
ObjDoubleConsumer<T>
BiFunction<T, U, R> (T, U) -> R ToIntBiFunction<T, U>
ToLongBiFunction<T, U>
ToDoubleBiFunction<T, U>

总结

名称 一元接口 说明 二元接口 说明
一般函数 Function
(T -> R)
一元函数
抽象apply方法
BiFunction
((T, U) -> R)
二元函数
抽象apply方法
算子函数
(输入输出同类型)
UnaryOperator
(T -> T)
一元算子
抽象apply方法
BinaryOperatory
((T, T) -> T)
二元算子
抽象apply方法
谓词函数
(输出Boolean)
Predicate
(T -> Boolean)
一元谓词
抽象test方法
BiPredicate
((T, R) -> Boolean)
二元谓词
抽象test方法
消费者
(无返回值)
Consumer
(T -> void)
一元消费者函数
抽象accept方法
BiConsumer
((T, R) -> void)
二元消费者函数
抽象accept方法
供应者
(无参数,有返回值)
Supplier
(() -> T)
供应者函数
抽象get方法

自定义函数式接口
比如(T, R, U) -> Boolean 新建一个接口文件然后下入以下代码即可。

@FunctionInterface
publif interface MyFunction<T, R, U>{
    Boolean test(T t, R r, U u);
}
上一篇 下一篇

猜你喜欢

热点阅读