java.util.stream.Streamable发生了什么?

kro*_*old 17 java java-8 java-stream

早期jdk8-ea的javadoc 这样表示有一个java.util.stream.Streamable接口,它似乎有一个同样的关系Stream作为Iterable必须的Iterator.

现在好像我们被困住了Supplier<Stream>,这肯定是不一样的.

发生什么事了Streamable

ass*_*ias 14

它已经被删除了一段时间.Brian Goetz给出了删除的理由:

目前唯一的实现者是Collection,并且所有其他流方法都提供专用流(chars(),codePoints(),lines()等),其方法名称比"stream"更合适.所以我认为我们应该删除Streamable并将stream()/ parallel()方法保留在Collection上(或者可能将它们向上移动Iterable).

而且:

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

另一篇文章中他补充道:

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

  • 可悲的是,"Iterable"没有更多`stream`方法:| (12认同)