Java8中BiFunction函数的功能及示例说明
									
下文笔者讲述BiFunction函数的功能及示例说明,如下所示
传入两个Integer,返回Integer,Double或list
				 
				BiFunction接口功能
BiFunction是功能接口:
    它接受两个参数并返回一个对象
BiFunction接口源码
@FunctionalInterface
public interface BiFunction<T, U, R> {
      R apply(T t, U u);
}
参数说明:
	T:函数的第一个参数的类型
	U:函数第二个参数的类型
	R:函数结果的类型
例:传入两个Integer,返回Integer,Double或list
package com.java265;
 
import java.util.Arrays;
import java.util.List;
import java.util.function.BiFunction;
 
public class Java8BiFunction1 {
 
    public static void main(String[] args) {
 
        // takes two Integers and return an Integer
        BiFunction<Integer, Integer, Integer> func = (x1, x2) -> x1 + x2;
 
        Integer result = func.apply(2, 3);
 
        System.out.println(result); // 5
 
        // take two Integers and return an Double
        BiFunction<Integer, Integer, Double> func2 = (x1, x2) -> Math.pow(x1, x2);
 
        Double result2 = func2.apply(2, 4);
 
        System.out.println(result2);    // 16.0
 
        // take two Integers and return a List<Integer>
        BiFunction<Integer, Integer, List<Integer>> func3 = (x1, x2) -> Arrays.asList(x1 + x2);
 
        List<Integer> result3 = func3.apply(2, 3);
 
        System.out.println(result3);
 
    }
 
}
 
BiFunction <T,U,R> + Function <T,R>示例2
传入两个Integer并返回Double
package com.java265;
import java.util.function.BiFunction;
import java.util.function.Function;
public class Java8BiFunction2a {
    public static void main(String[] args) {
 
        // Math.pow(a1, a2) returns Double
        BiFunction<Integer, Integer, Double> func1 = (a1, a2) -> Math.pow(a1, a2);
 
        // takes Double, returns String
        Function<Double, String> func2 = (input) -> "Result : " + String.valueOf(input);
 
        String result = func1.andThen(func2).apply(99,88);
        System.out.println(result);
    }
}
 									
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

			
               
               
               
               
          
