Collection
和Optional
都有一个stream
方法,如果我们想要flatMap
,我们需要调用它。可能存在接受 Streamable
的重载,我们只需平面映射集合和选项,而不是首先将它们转换为流。所以代码如下
myStream.flatMap(obj -> obj.getCollection().stream())
或
myStream.map(MyObject::getCollection).flatMap(Collection::stream)
会变成
myStream.flatMap(MyObject::getCollection)
与选项相同。
有缺点吗?
看起来它曾经存在java.util.stream.Streamable 发生了什么? 当时将其删除是有原因的。 所以我想我的问题的答案是同样的原因成立并且添加
Optional::stream
并没有影响它