摘要:binaryoperator 函数式接口接收两个参数并返回一个结果,用于组合函数。它包含两个方法:apply() 和 andthen(),其中 apply() 用于接受两个输入参数并返回结果,andthen() 用于组合函数。
Java 函数式接口:BinaryOperator
简介
BinaryOperator 是一个函数式接口,它接受两个输入参数并返回一个结果。它通常用于组合函数,如将多个函数连接成一个管道来执行一系列操作。
语法
interface BinaryOperator{ T apply(T left, T right); }
其中:
-
T是输入和输出参数的类型。
实战案例
考虑这样一个场景,你想计算一个数字列表的平均值。你可以使用 BinaryOperator 接口将一个求和函数和一个计数函数组合在一起,如下所示:
import java.util.Arrays;
import java.util.List;
import java.util.function.BinaryOperator;
public class AverageCalculator {
public static void main(String[] args) {
// 创建数字列表
List numbers = Arrays.asList(1.0, 2.0, 3.0, 4.0, 5.0);
// 定义求和函数
BinaryOperator sum = (a, b) -> a + b;
// 定义计数函数
BinaryOperator count = (a, b) -> a + 1;
// 将求和函数和计数函数组合起来
BinaryOperator average = sum.andThen(counted -> counted / count.apply(0, numbers.size()));
// 计算平均值
double result = numbers.stream()
.reduce(average
)
.orElse(0.0);
System.out.println(result); // 输出:3.0
}
} 在上面的示例中:
-
sum函数将两个数字相加。 -
count函数将两个计数相加。 -
average函数将sum的结果除以count的结果,得到平均值。
使用 BinaryOperator 接口,你可以轻松地组合函数并创建复杂的行为,而无需创建自定义类或方法。









