我有一个 ArrayList,其中填充了对象。
我的对象类名为 Article
,它有两个字段;
public class Article {
private int codeArt;
private String desArt;
public Article(int aInt, String string) {
this.desArt = string;
this.codeArt = aInt;
}
public int getCodeArt() {return codeArt; }
public void setCodeArt(int codeArt) {this.codeArt = codeArt;}
public String getDesArt() {return desArt;}
public void setDesArt(String desArt) { this.desArt = desArt;}
}
我希望使用desArt
字段对我的List进行过滤,并且为了测试,我使用了字符串"test"。
我使用的是谷歌的Guava库,它允许我过滤一个ArrayList。
这是我尝试过的代码:
private List<gestionstock.Article> listArticles = new ArrayList<>();
//Here the I've filled my ArrayList
private List<gestionstock.Article> filteredList filteredList = Lists.newArrayList(Collections2.filter(listArticles, Predicates.containsPattern("test")));
但是这段代码没有起作用。
Predicate
,除了notNull()
/isNull()
之外,Predicates
提供的任何内容都无法以有意义的方式过滤你的对象。你读过 Functional explained 吗? - Frank Pavageau