gpt4 book ai didi

Java Stream_Don't apply filter if my filter string is null

转载 作者:行者123 更新时间:2023-11-29 08:20:38 24 4
gpt4 key购买 nike

我有 3 个过滤器,但它们并不总是充满值!

例如:

a=1, b=2, c=null

我有这个用于过滤:

myList.stream()
.filter(item->item.a == a)
.filter(item->item.b == b)
.filter(item->item.c == c)
.Collect(collection.asList);

但这对我不起作用。如果我对 c 的输入是 null,我需要忽略 c 参数及其过滤器,如下所示:

 myList.stream()
.filter(item->item.a == a)
.filter(item->item.b == b)
.Collect(collection.asList);

每当其他过滤器为 null 时,它应该像前面示例中的 c 一样从过滤器链中删除。

最佳答案

要使条件有效,它需要常量为 null 或项目的值等于常量。这看起来像:

myList.stream()
.filter(item -> a == null || item.a == a)
.filter(item -> b == null || item.b == b)
.filter(item -> c == null || item.c == c)
.collect(Collectors.toList());

关于Java Stream_Don't apply filter if my filter string is null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59035769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com