函数式接口
只拥有一个方法的接口被称为函数式接口。
编译器会自动推断一个接口是否为函数式接口。
可以在函数式接口上添加@FunctionalInterface
注解来触发函数式接口校验。
可以通过Lambda表达式创建该接口的对象。
java包java.util.function
中包含了常用的函数式接口:
Predicate<T>
:接收T,返回booleanConsumer<T>
:接收T,不返回值Function<T, R>
:接收T,返回RSupplier<T>
:提供T对象(例如工厂),不接收值UnaryOpeartor<T>
:接收T,返回TBinaryOperator<T>
:接收两个T,返回T