gpt4 book ai didi

java - java流过滤器中的if-else

转载 作者:行者123 更新时间:2023-12-02 11:24:01 25 4
gpt4 key购买 nike

现在我正在使用 forloop 来过滤列表,如下所示

LinkedList < classABC > filteredList = new LinkedList < > ();
for (ClassABC classABC: classABCList) {
if (classABC.getName() == "ABC" && classABC.before(timestamp1)) {
filteredList.add(classABC)
} else if (classABC.before(timestamp2)) {
filteredList.add(classABC)
}
}
return filteredList

我想知道是否可以使用stream().filter() 来做同样的事情。我尝试使用多个逻辑表达式进行过滤,但无法使其适用于像 (a && b) || 这样的复合逻辑表达式(c)

最佳答案

看来流过滤器可以处理复合逻辑表达式。所以我像这样转换了 if else 。

filteredList = classABCList.stream()
.filter(abc ->(abc.getName() == "ABC" && abc.before(timestamp1))
|| abc.before(timestamp2)
).collect(toList());

这是RadioDef建议的ideone示例(感谢您提供的示例!)

Example

关于java - java流过滤器中的if-else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36524745/

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