函数式接口 | 函数描述符 | 原始类型特化 |
---|---|---|
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);
}
网友评论