有没有办法使用 Google Guava API 检查列表中的所有对象是否具有相同的属性?
此外,有没有办法向 Predicate 发送更多参数?
假设我想用从用户那里获得的字符串过滤所有对象, 我希望谓词在应用过滤器时使用此参数。
最佳答案
您可以按如下方式创建自己的谓词:
class MyPredicate implements Predicate<MyObject> {
private final String parameter;
public MyPredicate(String parameter) {this.parameter = parameter;}
boolean apply(MyObject input) {
// apply predicate using parameter.
}
}
然后您可以通过执行以下操作进行过滤:
Iterables.filter(myIterable, new MyPredicate(myParameter));
尽管这会执行惰性过滤器,但您应该小心。
关于java - 使用 Google Guava API 进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29875768/