Google Guava:谓词assertTrue
我正在寻找一种方法来确保 Collect
(List
) 中包含的所有对象从谓词返回指定值。
伪代码:
Collections.assertTrue(List<Ballons>, isBluePredicate)
我认为当前的 API 不可能实现这一点(也许我没有在正确的位置查找)
如果确实存在,函数在第一次遇到错误值时会退出吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Iterables.all(Iterable, Predicate) 方法是执行此操作的正常方法;该断言需要是您自己的。
The Iterables.all(Iterable, Predicate) method is the normal way to do this; the assertion would need to be your own.
Guava 本身没有任何断言。如果我正确理解问题,您应该能够使用 Iterables.all
文档没有澄清如果一个结果为 false,是否会评估其余元素的谓词,但我怀疑它们不会。您可以简单地检查一下来源。
如果您确实需要对所有元素进行评估,那么您应该使用
filter
并检查结果的大小。Guava itself does not have any asserts. If I understand the question right you should be able to use Iterables.all
Documentation does not clarify whether the predicate is evaluated for rest of elements if one results in false, but I suspect they won't be. You can trivially check the source.
If you do need it to be evaluated for all elements then you should use
filter
and check the size of the result.