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