我們在使用lambda表達式的時候,最常見的操作就是要進行配對。不過關於介面中存在著許多方法,有的夥伴進行配對時會比較茫然。我們可以明確的是lambda是可以對介面進行配對的,那麼關於具體的配對說明會在下文中為大家帶來講解,同時附上相關的實例程式碼。
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 標註,程式也是正確的。
以上就是Java介面中Lambda表達式匹配的方法,相信大家對於這篇Lambda表達式的使用有了新的認識,大家學會後也趕快練習一下吧。