jdk1.8新特性 函式式介面
阿新 • • 發佈:2019-01-27
函式式介面
1、只包含一個抽象方法的介面,稱為函式式介面。
2、你可以通過Lambda 表示式來建立該介面的物件。(若Lambda 表示式丟擲一個受檢異常,那麼該異常需要在目標介面的抽象方法上進行宣告)。
3、我們可以在任意函式式介面上使用@FunctionalInterface註解,這樣做可以檢查它是否是一個函式式介面,同時javadoc也會包含一條宣告,說明這個介面是一個函式式介面。
自定義函式式介面
@FunctionalInterface public interface Myinterface { public String getResul(); } // 函式式介面中使用泛型 @FunctionalInterface public interface Myinterface<T> { public T getResul(T t); }
作為引數傳遞 Lambda 表示式
public String toUpperString(Myinterface<String> mf, String str) { return mf.getResul(str); } public void test() { //作為引數傳遞 Lambda 表示式 String nStr = toUpperString( (str) -> str.toLowerCase(), "asdfgh"); // 作為引數傳遞 Lambda 表示式:為了將 Lambda 表示式作為引數傳遞, // 接收Lambda 表示式的引數型別必須與該Lambda 表示式相容的函式式介面的類in個 }
Java 內建四大核心函式式介面
其他介面