首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Predicates#and:有什么方法可以访问内部谓词吗?

Predicates#and:有什么方法可以访问内部谓词吗?
EN

Stack Overflow用户
提问于 2012-01-03 17:52:34
回答 3查看 347关注 0票数 1

我正在使用

andPredicate = Predicates.and(firstPredicate, secondPredicate);

现在,我必须序列化andPredicate (作为JsonObject),并需要访问已用谓词的内部列表,以访问每个谓词的成员。

有没有办法访问这些文件?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-03 23:58:45

如果您需要这样的行为,答案是编写您自己版本的Predicates.and(),这并不太难。Guava对Predicates.and的内部实现是(正确的)实现细节,而不是向用户公开的内容。

票数 3
EN

Stack Overflow用户

发布于 2012-01-03 18:16:20

我认为没有直接的方法可以做到这一点。

无论如何,作为变通办法,您可以使用andPredicate对象的toString()方法。此方法的实现(列出的here )将返回如下所示的值:

代码语言:javascript
复制
And(<firstPredicate.toString()>, <secondPredicate.toString()>)

在那里您可以获取括号内容,并分析每个条目。

因为每个条目也可以是andor或另一个组合谓词,所以在处理逗号和括号时要小心。

票数 1
EN

Stack Overflow用户

发布于 2012-01-03 19:33:21

正如Javadoc类声明的那样,andPredicate已经是可序列化的:

只要给定了可序列化的参数,

方法就会返回可序列化的谓词。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8710392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档