什么是 Java 中 Lambda 表达式的目标类型?


调用 lambda 表达式的函数接口称为 lambda 表达式的目标类型。这意味着如果对某个“X”接口调用了 lambda 表达式,则“X”是该 lamdba 表达式的目标类型。因此,我们得出结论,lambda 表达式只能在 java 编译器能确定目标类型的情况下使用。

在下例中,lambda 表达式的目标类型为BiFunction。以下实例将自动创建一个类实例来实现函数接口,lambda 表达式提供函数接口声明的抽象方法的一种实现。

示例

interface BiFunction {
   R apply(K k , V v);
}
public class LambdaTypeInferenceTest {
   public static void main(String[] args) {
      BiFunction result = (n1, n2) ->
      { return n1 + n2;}; // lambda expression
         Integer n1 = 10;
         Integer n2 = 20;
         System.out.println("The addition of n1 and n2 is: "+ result.apply(n1, n2));
   }
}

输出

The addition of n1 and n2 is: 30

更新于: 11-Jul-2020

2K+ 浏览

开启您的职业生涯

完成本课程,获得认证

开始
广告
© . All rights reserved.