1. 程式人生 > >【java8】持續精進-之BiFunction

【java8】持續精進-之BiFunction

如果你正在瀏覽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)); }