我刚刚开始在这个 Oracle 网站上查看流。看到下面的代码,我立即想到的一个问题是:如果我想重用过滤器逻辑,例如在 Person 中有一个方法“isAdult”怎么办?
这在流中作为方法引用不起作用,因为它不接受参数 Person。类似地,我将无法创建一个过滤器,该过滤器接受一个带有年龄的附加 int 参数来创建一个可参数化的“isOlderThan”逻辑。
我找不到将流与自定义功能接口结合使用的方法。你将如何模拟这种行为?在我看来,在上述场景中创建静态“isAdult”方法不是一个非常干净的解决方案,使用此类方法创建“PersonChecker”对象也不是。
List<Person> list = roster.parallelStream().filter((p) -> p.getAge() > 18).collect(Collectors.toList());
谢谢