如何在Speedment

时间:2017-05-05 04:51:19

标签: java speedment

当我想过滤Speedment流时,如何使用OR?如何使用来自NY,NJ或PA的用户编写流?

users.stream()
    .filter(User.STATE.equals("NY"))
    .collect(Collectors.toList())

这会生成仅来自纽约的用户列表...

1 个答案:

答案 0 :(得分:1)

在这种特殊情况下,至少有两种方法:   a)使用Predicate::or   b)使用in谓词

谓::或

users.stream()
    .filter(
        User.STATE.equals("NY")
        .or(User.STATE.equals("NJ"))
        .or(User.STATE.equals("PA"))
    )
    .collect(Collectors.toList());

in()谓词

users.stream()
    .filter(User.STATE.in("NY", "NJ", "PA"))
    .collect(Collectors.toList());

我会使用后者的解决方案,在我看来看起来更好。