我有一个问题,我相信你能帮助我解决我的皱纹。
I have
List<Predicate<TaskFx>> predicates
我想在中使用这些谓词
taskFxList.stream().filter(predicates).collect(Collectors.toList());
作为一个谓词合并如下:
predicate1.and(predicate2).and...
我有一个表(13 列),其中包含一些结果(在 JavaFx 中)和 6 个字段,可通过这些字段中的值在此表中进行搜索。例如,我只能在 3 个字段中输入值,所以我的
predicates.size() = 3;
问题是如何最好地动态准备一个
Predicate<TaskFx> predicate
由 x.and(y).and(z) 合并的所有谓词组成
非常感谢您的帮助!
您可以流式传输并reduce https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#reduce-T-java.util.function.BinaryOperator-他们像这样:
Predicate<TaskFx> predicate = predicates.stream()
.reduce(x -> true, Predicate::and);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)