使用FunctionalInterfaceは、ファクトリメソッドを提供します

1。

まず、Userクラスを提供

パブリック クラスユーザー{ 
    
    プライベート int型のID。
    プライベート文字列名; 
    
    パブリックユーザ(int型のID、文字列名){
     この .ID = ID。
    この .nameの= 名前; 
    } 

    公共 INT のgetId(){
         戻りID。
    } 

    公共 ボイド SETID(int型のID){
         この .ID = ID。
    } 

    パブリック文字列のgetName(){
         戻り名。
    } 

    公共 のボイドsetName(文字列名){
         この .nameの= 名前。
    } 

}

ユーザーファクトリクラスを作成UserFactory、関数インタフェースであります

輸入はjava.util.ArrayList;
輸入はjava.util.List; 

パブリック クラスConstrMethodRef { 
    
    @FunctionalInterface 
    インタフェース UserFactory <Uが延びているユーザー> { 
    Uは(作成int型のID、文字列名)。
    } 
    
    静的の UserFactory <ユーザー> UF =ユーザー:: 新しいです
    
    パブリック 静的 ボイドメイン(文字列[]引数){ 

    リスト <ユーザー>ユーザー= 新規のArrayList <ユーザー> ();
    以下のためにINT iが= 0; I <10; I ++ ){ 
        users.add(uf.create(I、 "ビリー" +持つInteger.toString(I))); 
    } 
    users.stream()マップ(ユーザー::のgetName).forEach(のSystem.out ::のprintln)。
    
     
    } 

}

あなたがUserFactoryインスタンスを作成した後、UserFactory.createへの呼び出しは()、コンストラクタは、ユーザオブジェクトのインスタンスを作成することになり、実際のユーザーに委託されます。

おすすめ

転載: www.cnblogs.com/luffystory/p/11963689.html