为什么将 Optional<T> 声明为最终类?
我正在玩以下问题:使用Java 8的Optable with Stream::flatMap,并希望将方法添加到自定义中,然后检查它是否有效。
更准确地说,我想添加一个到 my 中,如果没有值,则返回空流,或者如果存在,则返回具有单个元素的流。Optional<T>
stream()
CustomOptional<T>
但是,我得出的结论是被宣布为最终结论。Optional<T>
为什么会这样?有很多类没有被声明为 final,我个人认为这里没有理由声明 final。Optional<T>
作为第二个问题,为什么不能所有的方法都是最终的,如果担心它们会被覆盖,并使类非最终?