Java8 Functional Interfaces

java8 提供的函数式接口:

Consumer<T>: 接受一个输入参数,无返回值。
BiConsumer<T,U>: 接受两个输入参数,无返回值
DoubleConsumer: 接受一个double类型的输入参数,无返回值
IntConsumer: 接受一个int类型的输入参数,无返回值
LongConsumer:接受一个long类型的输入参数,无返回值
ObjDoubleConsumer<T>:接受一个object类型和一个double类型的输入参数,无返回值
ObjIntConsumer<T>:接受一个object类型和一个int类型的输入参数,无返回值
ObjLongConsumer<T>:接受一个object类型和一个long类型的输入参数,无返回值

Function<T,R>: 接受一个输入参数,返回一个结果。
BiFunction<T,U,R>:接受两个输入参数,返回一个结果。
DoubleFunction<R>:接受一个double类型输入参数,返回一个结果
IntFunction<R>:接受一个int类型输入参数,返回一个结果
LongFunction<R>:接受一个long类型输入参数,返回一个结果
DoubleToIntFunction:接受一个double类型输入,返回一个int类型结果
DoubleToLongFunction:接受一个double类型输入,返回一个long类型结果
IntToDoubleFunction:接受一个int类型输入,返回一个double类型结果
IntToLongFunction:接受一个int类型输入,返回一个long类型结果
LongToDoubleFunction:接受一个long类型输入,返回一个double类型结果
LongToIntFunction:接受一个long类型输入,返回一个int类型结果
ToDoubleBiFunction<T,U>: 接受两个输入参数,返回一个double类型结果
ToDoubleFunction<T>:接受一个输入参数,返回一个double类型结果
ToIntBiFunction<T,U>:接受两个输入参数,返回一个int类型结果
ToIntFunction<T>:接受一个输入参数,返回一个int类型结果
ToLongBiFunction<T,U>:接受两个输入参数,返回一个long类型结果
ToLongFunction<T>:接受一个输入参数,返回一个long类型结果

Predicate<T>: 接受一个输入参数,返回一个boolean结果
BiPredicate<T,U>:接受两个输入参数,返回一个boolean结果
DoublePredicate:接受一个double输入参数,返回一个boolean结果
IntPredicate:接受一个int输入参数,返回一个boolean结果
LongPredicate: 接受一个long输入参数,返回一个boolean结果

Supplier<T>: 无参数,返回一个结果
BooleanSupplier:无参数,返回一个boolean
DoubleSupplier:无参数,返回一个double
IntSupplier:无参数,返回一个结果int
LongSupplier:无参数,返回一个结果long

(Operator继承自funtion,是特殊类型的Function)
UnaryOperator<T>:接受一个参数为类型T,返回值类型也为T
BinaryOperator<T>:接受两个参数同为类型T,返回值类型也为T
DoubleUnaryOperator:接受一个参数同为类型double,返回值类型也为double
DoubleBinaryOperator:接受两个参数同为类型double,返回值类型也为double
IntUnaryOperator:接受一个参数同为类型int,返回值类型也为int
IntBinaryOperator:接受两个参数同为类型int,返回值类型也为int
LongUnaryOperator:接受一个参数同为类型long,返回值类型也为long
LongBinaryOperator:接受两个参数同为类型long,返回值类型也为long

除以上JDK自带的接口,也可以自定义任意函数式接口。Lamda 多配合stream和collection使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值