在Java 8中, BinaryOperator是一个功能接口,它扩展了BiFunction
。
BinaryOperator
接受两个相同类型的参数,并返回其参数相同类型的结果。
BinaryOperator.java
@FunctionalInterface
public interface BinaryOperator<T> extends BiFunction<T,T,T> {
}
BiFunction
接受两个任意类型的参数,并返回任意类型的结果。
BiFunction.java
@FunctionalInterface
public interface BiFunction<T, U, R> {
R apply(T t, U u);
}
1. BinaryOperator
1.1在此示例中,可以使用BinaryOperator<Integer>
替换接受并返回相同类型的BiFunction<Integer, Integer, Integer>
BinaryOperator<Integer>
。
Java8BinaryOperator1.java
package com.mkyong;
import java.util.function.BiFunction;
import java.util.function.BinaryOperator;
public class Java8BinaryOperator1 {
public static void main(String[] args) {
// BiFunction
BiFunction<Integer, Integer, Integer> func = (x1, x2) -> x1 +