23

像这样的早期jdk8-eajavadocs表明存在一个接口,它与 a 的关系似乎与与 a 的关系相同。java.util.stream.StreamableStreamIterableIterator

现在似乎我们被困住了Supplier<Stream>,这肯定不一样。

怎么了Streamable

4

1 回答 1

18

它已在前一段时间被删除。Brian Goetz 给出了移除的理由:

目前唯一的实现者是 Collection,所有其他的流承载方法都在提供比“流”更合适的方法名称的专用流(chars()、codePoints()、lines() 等)。所以我认为我们应该放弃 Streamable 并将 stream() / parallel() 方法保留在 Collection 上(或者可能将它们移到 Iterable 上)。

还有

我开始认为 Streamable 没有承载它的重量。我想考虑放弃Streamable,此时parallel() 的最基本实现在Collection 中,我还建议我们考虑将其重命名为parallelStream()。

另一篇文章中,他补充道:

如果 Iterable 的所有内容都是有效的 Streamable(因为 Iterable 有一个 stream())方法,并且所有 Streamable 都是有效的 Iterable (因为您可以将 Spliterator 变成 Iterator),那么它们不是相同的抽象吗?

于 2014-02-24T12:19:39.550 回答