1
我剛開始在this Oracle website上查看流。立即看到下面的代碼的一個問題是:如果我想重用過濾器邏輯,例如有個人的方法是「isAdult」嗎?使用具有自定義功能接口的流
由於它不接受參數Person,因此這不適用於流作爲方法引用。類似地,我將無法創建一個篩選器,它接受和使用年齡創建可參數化的「isOlderThan」邏輯的附加int參數。
我找不到一種方式將流與定製的功能接口一起使用。你會如何模擬這種行爲?我覺得在上面的場景中創建一個靜態的「isAdult」方法不是一個非常乾淨的解決方案,也不是用這種方法創建一個「PersonChecker」對象。
List<Person> list = roster.parallelStream().filter((p) -> p.getAge() > 18).collect(Collectors.toList());
謝謝
謝謝,併爲這個微不足道的問題道歉,它來自方法引用(我嘗試使用p :: isAdult)的一個不相關的誤解,加上錯誤的想法,因爲謂詞「測試」方法接受1參數,所以必須由拉姆達。 – user1578796