Java8中BiFunction函数的功能及示例说明

书欣 Java经验 发布时间:2023-01-29 11:33:29 阅读数:780 1
下文笔者讲述BiFunction函数的功能及示例说明,如下所示

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);
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202301/16749638795567.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者