【java8】持續精進-之BiFunction
阿新 • • 發佈:2019-02-13
如果你正在瀏覽Java8的API,你會發現java.util.function中 Function, Supplier, Consumer, Predicate和其他函式式介面廣泛用在支援lambda表示式的API中。這些介面有一個抽象方法,會被lambda表示式的定義所覆蓋。
@FunctionalInterface
public interface BiFunction<T, U, R> {
/**
* Applies this function to the given arguments.
*
* @param t the first function argument
* @param u the second function argument
* @return the function result
*/
R apply(T t, U u);
BiFunction 接受兩個引數 返回一個結果
實戰: 求兩個數的 四則運算
public static Integer getSum(Integer a, Integer b, BiFunction<Integer, Integer, Integer> biFunction) {
return biFunction.apply(a, b);
}
public static void main(String[] args) {
System.out.println(getSum(1,2,(a,b)->a+b));
System.out.println(getSum(1,2,(a,b)->a-b));
System.out.println(getSum(1,2,(a,b)->a*b));
System.out.println(getSum(2,2,(a,b)->a/b));
}