Google Guava:Predicate assertTrue

时间:2011-10-25 03:53:15

标签: java guava

我正在寻找一种方法来确保CollectList)中包含的所有对象从谓词中返回指定的值。

伪代码:

Collections.assertTrue(List<Ballons>, isBluePredicate)

我不认为使用当前的API可以实现这一点(也许我没有找到适当的位置)

如果确实存在,那么当函数第一次遇到假值时会退出吗?

2 个答案:

答案 0 :(得分:5)

Iterables.all(Iterable, Predicate)方法是执行此操作的常用方法;断言需要是你自己的。

答案 1 :(得分:2)

番石榴本身没有任何断言。如果我理解正确的问题,您应该可以使用Iterables.all

assert Iterables.all(balloonsList, isBlue) : "some aren't blue";

文档没有说明如果一个结果是错误的话,是否会对其余元素进行谓词评估,但我怀疑它们不会。您可以轻松检查来源。

如果您确实需要对所有元素进行评估,那么您应该使用filter并检查结果的大小。