我读了这篇关于 Guava 谓词的文章
http://blog.solidcraft.eu/2010/10/googole-guava-v07-examples.html
注意点谓词/函数
里面写着:
The invocation would be (returns boolean):
Predicates.in(users).apply(shouldNotHaveDigitsInLoginPredicate);
我做不到。
我的 IDE 写道 apply 方法无法应用于此类型。
请帮助我。
最佳答案
该博客条目没有意义。查看 Predicates
的 API :
Predicates.in(users)
创建 Predicate
通用类型 User
,即Predicate<User>
。该谓词采用 User
类型的参数在其 Predicate#apply(T)
方法。类(class)ShouldNotHaveDigitsInLoginPredicate
实现Predicate<User>
本身,因此不属于 User
类型。因此,您的 IDE 会警告您类型不匹配。
你能做的是:
User user = getSomeUser();
Predicates.and(Predicates.in(users), new ShouldNotHaveDigitsInLoginPredicate())
.apply(user);
关于java - 如何在没有过滤器的情况下调用 guava 谓词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20969003/