Этот вопрос необходимо обновить, поскольку он помечен как дублированный, но все связанные вопросы не полностью соответствуют тому, что пытаются задать:
Есть ли причина, по которой Optional.of(aNullableVar)
требуется, поскольку Optional.ofNullable(aNullableVar)
проверяет наличие нулевого указателя внутри метода?
Поскольку на что Спаситель ответил , цель может быть похожа на условие охраны:
Object object = getObject();
Optional.of(object);
System.out.println(object.toString());
Это эквивалентно:
Object object = getObject();
Objects.requireNonNull(object);
System.out.println(object.toString());
и
Object object = getObject();
if (object == null) {
throw new NullPointerException();
}
System.out.println(object.toString());
Необязательный.of в Java 8:
public static <T> Optional<T> of(T value) {
return new Optional<>(value);
}
Необязательный.ofNullable в Java8:
public static <T> Optional<T> ofNullable(T value) {
return value == null ? empty() : of(value);
}