除了这里提供的所有优秀解决方案之外,我还想提供一个不同的解决方案。
我不确定您是否可以自由添加依赖项,但如果可以,您可以添加https://code.google.com/p/guava-libraries/作为依赖项。这个库增加了对 Java 的许多基本功能操作的支持,并且可以使处理集合变得更加容易和更具可读性。
在代码中,我用 T 替换了 List 的类型,因为我不知道您的列表输入到什么。
这个问题可以用番石榴解决:
List<T> filteredList = new Arraylist<>(filter(list, not(XXX_EQUAL_TO_AAA)));
然后在其他地方将 XXX_EQUAL_TO_AAA 定义为:
public static final Predicate<T> XXX_EQUAL_TO_AAA = new Predicate<T>() {
@Override
public boolean apply(T input) {
return input.getXXX().equalsIgnoreCase("AAA");
}
}
但是,在您的情况下,这可能是矫枉过正。它只是随着您使用集合的更多而变得越来越强大的东西。
哦,你还需要这些静态导入:
import static com.google.common.base.Predicates.not;
import static com.google.common.collect.Collections2.filter;