Jdk8 新增一个重要的包:java.util.function
。该包下所有的接口都是函数式接口:@FunctionalInterface
。
主要分为四大类:Supplier
、Consumer
、Predicate
、Function
。
接口 | 方法 | 参数 | 返回值 | 说明 |
---|---|---|---|---|
Supplier |
T get(); | 无 | T | 供给型;无参,返回一个指定泛型的对象 |
Consumer |
void accept(T t); | T | 无 | 消费型;传入一个指定泛型的参数,无返回值 |
Predicate |
boolean test(T t); | T | Boolean | 断言型:输入一个参数,返回判断结果 |
Function<T, R> | R apply(T t); | T | R | 方法型;输入一个参数,得到一个结果 |
如果T/R
为int/long/double
,该包下定义了相关接口,如IntSupplier
、IntConsumer
、IntFunction
、IntPredicate
……