我正在使用
andPredicate = Predicates.and(firstPredicate, secondPredicate);
现在,我必须序列化andPredicate (作为JsonObject),并需要访问已用谓词的内部列表,以访问每个谓词的成员。
有没有办法访问这些文件?
发布于 2012-01-03 23:58:45
如果您需要这样的行为,答案是编写您自己版本的Predicates.and(),这并不太难。Guava对Predicates.and的内部实现是(正确的)实现细节,而不是向用户公开的内容。
发布于 2012-01-03 18:16:20
我认为没有直接的方法可以做到这一点。
无论如何,作为变通办法,您可以使用andPredicate对象的toString()方法。此方法的实现(列出的here )将返回如下所示的值:
And(<firstPredicate.toString()>, <secondPredicate.toString()>)在那里您可以获取括号内容,并分析每个条目。
因为每个条目也可以是and、or或另一个组合谓词,所以在处理逗号和括号时要小心。
发布于 2012-01-03 19:33:21
正如Javadoc类声明的那样,andPredicate已经是可序列化的:
只要给定了可序列化的参数,
方法就会返回可序列化的谓词。
https://stackoverflow.com/questions/8710392
复制相似问题