可选vs Guava可选

8 java guava java-8

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

Java中有任何好处或泄漏Optional,它比我们的更好guava吗?

谢谢你的答案和帮助.

Mic*_*cha 7

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

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

  • Guavas Optional是抽象的,但不允许外部包将其子类化. (2认同)