Предположим, у нас есть выражение if, подобное этому:
public A save(A a) {
if (isValid.test(a)) {
return aRepository.save(a);
}
throw new ANotValidException("A is not valid");
}
isValid
- это предикат, и оно может выглядеть следующим образом:
private Predicate<A> isValid = (a) -> (a != null);
Как вы думаете?Могу ли я сделать это чище как-нибудь?Я имею в виду, например, использование Optional
, чтобы уменьшить его в 1 строку с .orElseThrow();