【发布时间】:2015-07-29 08:09:42
【问题描述】:
我正在尝试过滤 Guava 中的对象。例如,我有一个班级团队,希望获得所有排名低于 5 的团队。
Iterable<Team> test = Iterables.filter(teams, new Predicate<Team>(){
public boolean apply(Team p) {
return p.getPosition() <= 5;
}
});
我遇到 2 个错误,Predicate 无法解析为类型,并且 Iterables 类型中的方法 filter(Iterable, Predicate) 不适用于参数 (List , new Predicate(){})。
我能够过滤 Integer 类型的 Iterables。
Iterable<Integer> t6 = Iterables.filter(set1, Range.open(0, 3));
如何根据 Guava 中的成员过滤对象?我想在我的android项目中使用这个库并且有很多过滤条件。它可以用于类对象还是仅用于简单数据类型?
【问题讨论】:
-
它可以用于任何对象,您是否从 com.google.common.base 导入了 Predicate?
-
yes 谓词也已导入到 guava jar 中。
-
嗨路易斯..你是对的。我只导入了谓词而不是谓词。请留下答案,以便我将其标记为正确。
-
Iterable<Integer> t6 = Iterables.filter(set1, Range.open(0, 3));的意义何在? (你的代码没有编译)
标签: guava