Я действительно новичок в 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;
}
});
Я знаю, что это не способ делать то, что я хочу, но я не могу понять, как я могу это сделать. У вас есть какие-нибудь предложения, которые я могу найти, чтобы достичь своей цели?
Спасибо за вашу помощь.




Для этого и предназначен API потока Java. https://www.oracle.com/technetwork/articles/java/ma14-java-se-8-streams-2177646.html
var filteredList = MyObjectFiltered
.stream()
.filter(obj -> EnumList.contains(obj.getValue()))
.collect(Collectors.toList());
Если я правильно вас понял, вы просто хотите удалить из списка объекты, не соответствующие определенному Enum? Для чего-то такого простого вам не понадобится внешняя библиотека, лямбды Java 8 могут сделать это за вас.
Вам просто нужно что-то вроде MyObjectFiltered.removeIf(object -> !EnumAsList.contains(object.getValue());
По сути, это означает удаление объекта из моего списка, если список перечислений не содержит его.
Спасибо за ответ, попробую так!