java8 新特性之方法引用

lixon166發表於2021-01-17

方法引用介紹:

方法引用透過方法的名字來指向一個方法。

方法引用可以使語言的構造更緊湊簡潔,減少冗餘程式碼。

方法引用使用一對冒號  :: 。

1、 構造器引用:它的語法是Class::new,或者更一般的Class< T >::new例項如下:

// 構造方法引用  暫時發現只能無參構造方法引用Supplier<Lambda> supplier  = Lambda::new;

2、 靜態方法引用:它的語法是Class::static_method,例項如下:

public class Lambda {
    Lambda(){};
    Lambda(int i){};    static void test(Lambda l){System.out.println(l);};    static void test2(String l){System.out.println(l);};    public static void main(String[] args) {        // 構造方法引用  暫時發現只能無參構造方法引用
        Supplier<Lambda> supplier  = Lambda::new;
        Consumer<Lambda> consumer = x->System.out.println(x);;
        Consumer<Lambda> consumer2 = Lambda::test;
        Consumer<String> consumer3 = Lambda::test2;
    }
}

3、特定類任意例項的方法引用:它的語法是instance::method例項如下:

Supplier<Lambda> supplier  = Lambda::new;
Supplier<Integer> consumer4 = supplier.get()::repair;

 

由上可以看出,只是把這個類的方法,賦值給函式介面,具體呼叫的時候傳入引數 ,編譯期檢查引數型別是否符合函式介面的泛型。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992808/viewspace-2750556/,如需轉載,請註明出處,否則將追究法律責任。

相關文章