Да, это моя ошибка в сигнатуре метода, переменная age имеет тип Integer и передавать здесь мы должны Integer, который может быть null. Исправил данный момент, спасибо.
Получим null, так как в этом случае мы не оборачиваем значение в описываемый класс Optional, но мы можем также обернуть его и уже по возвращении из метода.
Если для возвращаемого объекта указано, что он Optional.ofNullable(), и в методе он равен null, то вернется Optional.empty(), но при попытке использовать этот объект методом person.get() выпадет исключение java.util.NoSuchElementException. Если же указать Optional.of() возвращаемому объекту, то изначально, при попытке передать в него null, мы получим NullPointerException.
Integer
и передавать здесь мы должныInteger
, который может бытьnull
. Исправил данный момент, спасибо.flatMap()
иorElse()
относятся к классуOptional
, а неPerson
. Демо-проект для данной статьи Вы можете посмотреть здесь.null
, так как в этом случае мы не оборачиваем значение в описываемый классOptional
, но мы можем также обернуть его и уже по возвращении из метода.Optional.ofNullable()
, и в методе он равенnull
, то вернетсяOptional.empty()
, но при попытке использовать этот объект методомperson.get()
выпадет исключениеjava.util.NoSuchElementException
. Если же указатьOptional.of()
возвращаемому объекту, то изначально, при попытке передать в негоnull
, мы получимNullPointerException
.