本文阅读量 次
1. Java 函数式编程¶
| 声明 | 含义 | 使用场景 |
|---|---|---|
Consumer<T> | 接受单个输入参数并且不返回任何结果的操作 | |
Supplier<T> | 不接受任何参数,但返回一个 T 类型的值的函数 | 它是一个生产者,用于延迟计算或生成数据 |
Function<T, R> | 接受一个 T 类型的参数,并返回一个 R 类型的结果 | 它是一个转换器,用于将一种类型的值转换为另一种类型的值 |
Predicate<T> | 接受一个 T 类型的参数,并返回一个 boolean 类型的结果的函数 | 它是一个判断器,用于测试某个条件是否成立 |
UnaryOperator<T> | 接受一个 T 类型的参数,并返回一个 T 类型的结果的函数 | 它是一个单目操作符,用于对单个值进行转换,且输入和输出类型相同。 它是 Function |
BinaryOperator<T> | 接受两个 T 类型的参数,并返回一个 T 类型的结果 | 它是一个双目操作符,用于对两个值进行组合,且输入和输出类型相同。 它是 BiFunction |
BiConsumer<T, U> | 接受两个输入参数,并且不返回任何结果的操作 | 类似于 Consumer,但接受两个参数 |
BiFunction<T, U, R> | 接受两个输入参数,并返回一个结果的函数 | |
DoubleConsumerIntConsumerLongConsumer | 这些是 Consumer 的特例,分别接受 double, int, 和 long 作为输入,避免了装箱/拆箱的开销,提高了性能 | |
DoubleFunction<R>IntFunction<R>LongFunction<R> | 这些是 Function 的特例,分别接受 double, int, 和 long 作为输入 | |
ToIntFunction<T>ToLongFunction<T>ToDoubleFunction<T> | 将输入类型 T 转换为 int, long, 和 double 类型 |