Google Guava:谓词assertTrue

发布于 2024-12-12 04:07:25 字数 254 浏览 1 评论 0 原文

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

伪代码:

Collections.assertTrue(List<Ballons>, isBluePredicate)

我认为当前的 API 不可能实现这一点(也许我没有在正确的位置查找)

如果确实存在,函数在第一次遇到错误值时会退出吗?

I am looking for a method to assure all objects contained in a Collect (List) return a specified value from a predicate.

Pseudo Code:

Collections.assertTrue(List<Ballons>, isBluePredicate)

I do not see this being possible with the current API (maybe I am not looking in the proper place)

If this does exist would the function exit when it first encounters a false value?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花桑 2024-12-19 04:07:25

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.

睫毛溺水了 2024-12-19 04:07:25

Guava 本身没有任何断言。如果我正确理解问题,您应该能够使用 Iterables.all

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

文档没有澄清如果一个结果为 false,是否会评估其余元素的谓词,但我怀疑它们不会。您可以简单地检查一下来源。

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

Guava itself does not have any asserts. If I understand the question right you should be able to use Iterables.all

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

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文