什麼是 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
廣告