可选vs Guava可选

时间:2015-02-18 08:41:24

标签: java java-8 guava

我已经在我的项目中使用Optional提供的Guava很长一段时间了。现在我决定从Java 7迁移到Java 8,但是因为在我的项目中我使用了guava' s Optional到目前为止,我必须运行代码并进行重大更改。虽然我还不确定是否值得改变,或者最好还是保留所有内容,然后从现在开始使用Java Optional

Java Optional中是否有任何好处或泄漏,是否比guava中的更好?

感谢您的回答和帮助。

1 个答案:

答案 0 :(得分:7)

这两个类的API不一样。我不会通过regexp改变它。 在我看来,三个不同的重要区别是:

  1. Guava中的可选项是abstract,表示对象是子类。在Java中,Optional是final,这意味着没有子类。
  2. 在guava中,Optional是Serializable。 in Java Optional不是Serializable。
  3. 方法并不完全相同。