[英]Java predicate chaining with nested object
private static final Predicate<Parent> HAS_SON = parent -> IS_CHILD(parent.getChild);
private static final Predicate<Child> IS_CHILD = Objects::nonNull;
private static final Predicate<Parent> IS_PARENT = Objects::nonNull;
private static final Predicate<Parent> IS_FATHER = IS_PARENT.and(HAS_SON);
我试图一连串地链接谓词,那是我要使用子对象的谓词之一。
这是我试图使事情更容易理解的一种假设情况。
parent
) parent
是否为null
child
是否为null HAS_SON有问题,我知道语法不正确,可能是nesting(parent.child)可能不允许。 可以请一个人确认吗? 现在我正在使用的解决方法是
private static final Predicate<Parent> HAS_SON = parent -> parent.getChild() != null;
不要忘记,通过使用FunctionalInterface
的test
方法可以触发Predicate
。 以下将工作
private static final Predicate<Child> IS_CHILD = Objects::nonNull;
private static final Predicate<Parent> HAS_SON = parent -> IS_CHILD.test(parent.getChild);
private static final Predicate<Parent> IS_PARENT = Objects::nonNull;
private static final Predicate<Parent> IS_FATHER = IS_PARENT.and(HAS_SON);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.