Почему Optional несериализуемый

Класс Optional появился в Java 8. Он создан для облегчения работы с возвращаемыми из методов значениями, которые могут содержать null. Однако этот класс несериализуемый. Почему? Всё очень просто. Его не стоит использовать в качестве поля класса. Он создан только для использования в качестве возвращаемого из методов значения. Код, который вызывает метод, возвращающий Optional должен обработать реальное значение, либо бросить исключение через orElseThrow, либо получить значение по умолчанию с помощью orElse. В поле класса нужно уже записывать настоящее значение, а не обёртку с Optional.

Рекомендую ознакомиться со статьёй, описывающей основные методы работы с этим классом.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *