我对 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/