什麼是 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+ 瀏覽

開啟您的職業生涯

完成本課程,獲得認證

開始
廣告