函数式接口就是只有一个方法的接口,如Runnable、Callable、Comparable都称作函数式接口。java8新加了一个专门用于标识函数式接口的注解@FunctionalInterface
接口 | 参数 | 返回类型 | 说明 |
---|---|---|---|
Predicate<T> | T | boolean | 输入某个值,输出bool值,用于对某值进行判定 |
Consumer<T> | T | void | 输入某值,无输出。用于消费某值 |
Function<T,R> | T | R | 输入某类型值,输出另种类型值,用于类型转化等 |
Supplier<T> | None | T | 无输入,输出某值,用于生产某值 |
UnaryOperator<T> | T | T | 输入某类型值,输出同类型值,用于值的同类型转化,如对值进行四则运算等 |
BinaryOperator<T> | (T,T) | T | 输入两个某类型值,输出一个同类型值,用于两值合并等 |