java - 过滤器列表等于参数

标签 java java-stream

我有一个对象列表,其中有一个 boolean 属性isEnabled。 我想使用流根据方法的参数过滤列表。

List<Object> myMethod(boolean enabled) {
    List<Object> myObjects = getObjectsFromDB();

    // I want to filter myObjects to return only objects
    // where enabled == object.isEnabled
}

最佳答案

根据您要使用的最终类别,它应该是这样的:

List<YourClass> filtered = myObjects.stream()
                           .map(o -> (YourClass)o)
                           .filter(o -> enabled == o.isEnabled())
                           .collect(Collectors.toList());

或者

List<Object> filtered = myObjects.stream()
                           .filter(o -> enabled == ((YourClass)o).isEnabled())
                           .collect(Collectors.toList());

关于java - 过滤器列表等于参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62037359/

相关文章:

java - 如何查找 html-table ID

java - 编译 GWT 项目时出现错误 : Could not find or load main class com. google.gwt.dev.Compiler

java - 用于 Java/Swing 的基于模板的编辑器组件?

java - 在 Java 中并行读取/处理结果集

Java 8 Stream - 减少函数的组合器没有被执行

java - 如何用Java中的空格替换字符串中的奇数/偶数字符?

Javafx在特定时间弹出提醒通知

Java 8 Stream - 对 Collection 中具有相同 id 的对象的操作

java - 拆分流并从文本文件放入列表

Java 8 流处理不流畅