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);
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


