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への呼び出しは()、コンストラクタは、ユーザオブジェクトのインスタンスを作成することになり、実際のユーザーに委託されます。