关于java:Java-8函数式接口之FunctionT-R和BiFunctionT-U-R的区别

43次阅读

共计 624 个字符,预计需要花费 2 分钟才能阅读完成。

Function<T, R> 和 BiFunction<T, U, R> 是 Java 8 中的函数式接口,用于示意函数(Function),行将一个或多个输出映射为输入的操作。它们之间的区别在于承受的参数个数。


1. Function<T, R>:承受一个参数并返回一个后果的函数。它定义了一个名为 apply(T t) 的形象办法,用于承受一个参数并将其映射为一个后果。常见的用法是对单个输出进行转换或解决。例如:

Function<Integer, String> intToString = num -> "Number:" + num;

System.out.println(intToString.apply(42));  // 输入: Number: 42

2. BiFunction<T, U, R>:承受两个参数并返回一个后果的函数。它定义了一个名为 apply(T t, U u) 的形象办法,用于承受两个参数并将它们映射为一个后果。通常用于须要对两个输出进行转换或解决的场景。例如:

BiFunction<Integer, Integer, Integer> sum = (num1, num2) -> num1 + num2;

System.out.println(sum.apply(2, 3));  // 输入: 5

总结来说,Function<T, R> 是一个承受单个参数并返回后果的函数,而 BiFunction<T, U, R> 是一个承受两个参数并返回后果的函数。它们都被宽泛用于函数式编程和汇合操作中,用于对输出进行转换、映射或计算。

正文完
 0