java - Apache CollectionUtil 过滤器列表包含枚举列表单词

标签 java apache arraylist filter enums

我对 Java 真的很陌生。我想为 REST 服务做一些事情。 我有一个包含数据的对象的数组列表,我想删除所有与基于枚举的条件不匹配的对象。 我使用 Apache CollectionUtils 和过滤器获得了一些示例。但我发现的所有内容都与等于值有关。

目前,这是我完成的代码

    MyObjectFiltered.addAll(ListedMyObject);

    CollectionUtils.filter(MyObjectFiltered, new Predicate() {

        @Override
        public boolean evaluate(Object object) {
            boolean boolFound = false;

            for(String EnumItem : EnumAsList)
            {
                boolFound = ((MyObjectModel) object).getValue() == EnumItem ;
            }
            return boolFound;
        }
    });

我知道这不是做我想做的事的方法,但我不知道我该怎么做。你们有什么建议我可以搜索以实现我的目标吗?

感谢您的帮助。

最佳答案

如果我理解正确的话,您只是想从列表中删除与某个枚举不匹配的对象?您不需要外部库来完成如此简单的事情,Java 8 的 lambda 可以为您做到这一点。

您只需要类似 MyObjectFiltered.removeIf(object -> !EnumAsList.contains(object.getValue());

基本上,这意味着如果枚举列表不包含该对象,则从我的列表中删除该对象。

关于java - Apache CollectionUtil 过滤器列表包含枚举列表单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53616793/

相关文章:

java - CRUD Drools 在运行时规则

php - 尝试使用 ErrorDocument 时出现 404 Not Found 错误

java - 如何在 JAX-RS 上返回没有父标签的 JSON?

php - 为任何 Wordpress 的 feed/rss 返回 404

django - AWS 目标 WSGI 脚本 '/opt/python/current/app/core/wsgi.py' 无法作为 Python 模块加载

java - 从 Excel 读取数据以提供测试用例

Java ArrayList get() 方法不返回 Point 对象?

java - 将 list<map<string,object>> 转换为 POJO 类的对象

java - 获取 JDBC 类型的异常无方言映射

java - 增量读取大文件的最快方法