可选与番石榴可选

Optional vs Guava Optional

我在我的项目中使用 Guava 提供的 Optional 已经很长时间了。现在我决定从 Java 7 迁移到 Java 8,但是由于我在整个项目中使用了 guavaOptional 到目前为止,我必须 运行 通过代码并进行重大更改。虽然我还不确定是否值得改变,或者最好保持原样,从现在开始使用 Java 的 Optional

Java 的 Optional 有什么好处或漏洞吗,它比我们 guava 的更好吗?

API 和 类 是不一样的。我不会用正则表达式改变这个。 我认为重要的三个区别:

  1. 可选在 Guava 中是抽象的,这意味着对象是子类。在 Java 中,可选是最终的,这意味着没有子 类.
  2. 在 guava 中 Optional 是可序列化的。在 Java 可选是不可序列化的。
  3. 方法不完全一样