Java 如何在具有速度的过滤器中使用或

Java 如何在具有速度的过滤器中使用或,java,speedment,Java,Speedment,我如何使用或何时要过滤速度流?如何与来自纽约、新泽西或宾夕法尼亚的用户一起编写流 users.stream() .filter(User.STATE.equals("NY")) .collect(Collectors.toList()) 这将生成仅来自纽约的用户列表…在这种特殊情况下,至少有两种方法: a) 使用谓词::或 b) 在谓词中使用 谓词::或 in()谓词 我会使用后一种解决方案,在我看来它看起来更好 users.stream() .filter(

我如何使用或何时要过滤速度流?如何与来自纽约、新泽西或宾夕法尼亚的用户一起编写流

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

这将生成仅来自纽约的用户列表…

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

b) 在
谓词中使用

谓词::或 in()谓词 我会使用后一种解决方案,在我看来它看起来更好

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