谷歌番石榴:谓词断言为真



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

伪代码:

Collections.assertTrue(List<Ballons>, isBluePredicate)

我不认为这是可能的与当前的API(也许我没有在适当的地方寻找)

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

Iterables。all(Iterable, Predicate)方法是完成此操作的常规方法;该断言需要是您自己的。

Guava本身没有任何断言。如果我没理解错的话,你应该可以使用Iterables.all

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

文档没有说明如果一个结果为false,是否对其余元素的谓词进行评估,但我怀疑它们不会。您可以简单地检查源代码。

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

最新更新