java.util.function 中的目标类型

下表描述了 java.util.function 中的目标类型(包括例外情况):

特征 函数式方法名 示例
无参数; 
无返回值
Runnable 
(java.lang) 
run()
Runnable
无参数; 
返回类型任意
Supplier 
get() 
getAs类型()
Supplier 
 BooleanSupplier 
 IntSupplier 
 LongSupplier 
 DoubleSupplier
无参数; 
返回类型任意
Callable 
(java.util.concurrent) 
call()
Callable
1 参数; 
无返回值
Consumer 
accept()
Consumer 
IntConsumer 
LongConsumer 
DoubleConsumer
2 参数 Consumer BiConsumer 
accept()
BiConsumer
2 参数 Consumer; 
1 引用; 
1 基本类型
Obj类型Consumer 
accept()
ObjIntConsumer 
ObjLongConsumer 
ObjDoubleConsumer
1 参数; 
返回类型不同
Function 
apply() 
To类型 和 类型To类型 
applyAs类型()
Function 
IntFunction 
LongFunction 
DoubleFunction 
ToIntFunction 
ToLongFunction 
ToDoubleFunction 
IntToLongFunction 
IntToDoubleFunction 
LongToIntFunction 
LongToDoubleFunction 
DoubleToIntFunction 
DoubleToLongFunction
1 参数; 
返回类型相同
UnaryOperator 
apply()
UnaryOperator 
IntUnaryOperator 
LongUnaryOperator 
DoubleUnaryOperator
2 参数类型相同; 
返回类型相同
BinaryOperator 
apply()
BinaryOperator 
IntBinaryOperator 
LongBinaryOperator 
DoubleBinaryOperator
2 参数类型相同; 
返回整型
Comparator 
(java.util) 
compare()
Comparator
2 参数; 
返回布尔型
Predicate 
test()
Predicate 
BiPredicate 
IntPredicate 
LongPredicate 
DoublePredicate
参数基本类型; 
返回基本类型
类型To类型Function 
applyAs类型()
IntToLongFunction 
IntToDoubleFunction 
LongToIntFunction 
LongToDoubleFunction 
DoubleToIntFunction 
DoubleToLongFunction
2 参数类型不同 Bi操作 
(不同方法名)
BiFunction 
BiConsumer 
BiPredicate 
ToIntBiFunction 
ToLongBiFunction 
ToDoubleBiFunction

此表仅提供些常规方案。通过上表,你应该或多或少能自行推导出你所需要的函数式接口。

你可能感兴趣的:(jdk8,On,Java,8,lambda)