# Java 8 开始新增的 Optional 类 - Optional 对象序列化

**URL:** <https://www.isharkfly.com/t/java-8-optional-optional/13973>\
**Category:** 程序语言\
**Tags:** java\
**Created:** [May 13, 2022, 8:28pm UTC](https://www.isharkfly.com/t/java-8-optional-optional/13973 "2022-05-13T20:28:10Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [May 13, 2022, 8:28pm UTC](https://www.isharkfly.com/t/java-8-optional-optional/13973/1 "2022-05-13T20:28:10Z")

</div>

## Optional 对象和序列化

正如我们了解到的，Optional 对象应该在返回类型中使用，而不推荐将 Optional 作为方法的参数来使用。

另外，如果你尝试多 Optional 对象来进行序列化的话，你会得到 _NotSerializableException_ 的异常。

Java 官方根本就不推荐 Optional 用在实体属性上，这也是 Java 设计出 NotSerializableException 异常的原因之一。

Optional 推荐的用法是在函数返回值上。告诉函数调用者，返回的对象存在空异常的可能，需要调用者自行处理。
