которая не будет вызываться. Например, в Optional.orElseGet нет проверки, а в Optional.map есть:
Supplier s = null;
Optional.of(1).orElseGet(s); // нет NPE
Object orElseGet(Supplier s) {
return isPresent() ? value : s.get();
}
Function f = null;
Optional.empty().map(f); // есть NPE
Optional map(Function f) {
Objects.requireNonNull(f);
if (!isPresent()) return empty();
return f.apply(value);
}
Если ты обращаешься к переданному объекту, то поставь аннотацию NotNull и не парься.
Обсуждают сегодня