一、前面几篇文章的例子,都是自定义函数式接口。但是很多时候,并不需要自己定义函数式接口,因为JDK 8 中包含了新包 java.util.function,其中提供了一些预定义的函数式接口。
1、接口 UnaryOperator<T>,其抽象方法 apply(),对类型T的对象应用一元运算。
2、BinaryOperator<T>,其抽象方法apply(),对类型 T 的两个对象进行操作。
3、Consumer<T>,方法 accept(),对类型 T 的对象操作。
4、Supplier<T>,方法get(),返回类型为T的对象。
5、Function<T, R>,方法 apply(),操作类型为T的对象,并返回类型为R的对象。
6、Predicate<T>,方法test(),确定类型为T的对象是否满足某种约束,并返回boolean值。