Java的lambda 表达式中使用 Function 和 BiFunction 接口?

函数接口是一个预定义的函数接口,可以用作lambda表达式或方法引用的赋值目标。它接受单个参数并通过调用apply()方法返回结果。而BiFunction接口也是一个预定义的函数接口,它接受两个参数并返回结果。它与函数接口类似,只是它需要两个参数。

语法

@FunctionalInterface
public interface Function<T, R>

@FunctionalInterface
public interface BiFunction<T, U, R>

示例

import java.util.function.BiFunction;
import java.util.function.Function;

public class SampleFunctionBiFunctionTest {
   public static void main(String[] args) {
      Function<Integer, Integer> printNumber = a -> a*10;
      System.out.println("这个数字是: "+ printNumber.apply(10));

      BiFunction<Integer, Integer, Integer> add = (a, b) -> a+b;
      System.out.println("两个数字的相加是: "+ add.apply(3,2));
   }
}

输出结果

这个数字是: 100
两个数字的相加是: 5