この Oracle Web サイトでストリームを調べ始めたところです。以下のようなコードを見てすぐに思いついた質問の 1 つは、フィルター ロジックを再利用したい場合 (たとえば、Person で "isAdult" メソッドを使用する場合) です。
これは、パラメーター Person を受け入れないため、ストリームではメソッド参照として機能しません。同様に、パラメーター化可能な「isOlderThan」ロジックを作成するために、年齢を含む追加の int パラメーターを受け入れるフィルターを作成することはできません。
カスタム機能インターフェースと組み合わせてストリームを使用する方法が見つかりませんでした。そのような行動をどのようにモデル化しますか? 上記のシナリオで静的な「isAdult」メソッドを作成することはあまりクリーンなソリューションではなく、そのようなメソッドで「PersonChecker」オブジェクトを作成することもないように感じます。
List<Person> list = roster.parallelStream().filter((p) -> p.getAge() > 18).collect(Collectors.toList());
ありがとうございました