1、說明
(1)每個lambda都可以透過特定的介面來匹配給定的類型。一個所謂的函數介面必須有一個並且只有一個抽象方法聲明。對應它的每個lambda表達式必須與抽象方法的宣告相符。由於預設方法不是抽象的,可以隨意將預設方法新增到您的函數介面中。
(2)任何只包含一個抽象方法的介面都可以用來做lambda表達式。為了使定義的介面滿足要求,應該用@FunctionalInterface標記該介面。如果在介面中定義了第二個抽象方法,編譯器會注意到這個註解並拋出例外。
2、實例
@FunctionalInterface interface Converter<F, T> { T convert(F from); } Converter<String, Integer> converter = (from) -> Integer.valueOf(from); Integer converted = converter.convert("123"); System.out.println(converted); // 123
注意,如果不寫@FunctionalInterface 標註,程式也是正確的。
1.Java語言作為靜態物件導向程式語言的代表,實現了物件導向理論,允許程式設計師以優雅的思維方式進行複雜的程式設計。
2.Java具有簡單性、物件導向、分散式、安全性、平台獨立與可攜性、動態性等特點。
3.使用Java可以編寫桌面應用程式、Web應用程式、分散式系統和嵌入式系統應用程式等。
以上是Java介面中Lambda表達式的匹配方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!