java8-已经定义的函数式接口:
Supplier、Consumer、Predicate、Function
java8-Supplier 接口:生产者
java.util.function.Supplier;
示例:
求出数组元素最大的值。
Consumer 接口:消费者
接口源码:
使用 Consumer 接口:
Consumer 接口中的 默认方法:
作用:可以实现两个函数实现的前后拼接。函数模型拼接
函数模型拼接实例:
Predicate 接口的抽象方法:
Predicate 接口的默认方法:函数模型拼接,好处延迟执行,性能较高。
and 与,并且 &&
or 或,或者 ||
negate 非,取反 !
这三个默认方法返回值仍然还是 Predicate 接口自身,说明这只是在拼接函数模型而已。
只有当最终调用 test 抽象方法的时候,拼接好的若干步骤的函数模型,才会一次性执行。
示例:
Function 接口:
抽象方法:
R apply(T param);
用于类型转换:T 和 R 可以是同一个类型。
示例一:
示例二:
Function 中的 default 方法:
andThen 先做自己,在做其他
compose 先做其他,在做自己。(组合)