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);
Я пытаюсь связать предикаты одним поворотом, и это один из предикатов, которые я хочу использовать дочерний объект.
Это гипотетическая ситуация, которую я пытался облегчить для понимания.
- Будет сделан вызов is_father (
parent
)
- is_father проверит, если
parent
не null
- и () has_son
- has_son вызовет is_child (parent.getChild ())
- is_child проверит, не равен ли
child
ноль
Существует проблема HAS_SON, я знаю, что синтаксис неправильный, и, возможно, вложение (parent.child) может быть запрещено. Может кто-нибудь, пожалуйста, подтвердите? Прямо сейчас работа вокруг я использую это
private static final Predicate<Parent> HAS_SON = parent -> parent.getChild() != null;