2014-02-24 23 views
11

Früh jdk8-ea javadocs like this zeigen, gab es eine java.util.stream.Streamable Schnittstelle, die scheinen würde, die gleiche Beziehung zu einem Stream wie Iterable zu einem Iterator zu haben.Was ist mit java.util.stream.Streamable passiert?

Jetzt scheint es, als ob wir mit Supplier<Stream> stecken, die sicherlich nicht das Gleiche ist.

Was ist mit Streamable passiert?

Antwort

10

Es wurde vor einiger Zeit entfernt.

Derzeit ist die einzige Implementierer ist Sammlung, und alle anderen Strom tragenden Methoden sind spezialisierte Ströme (Zeichen() serviert, Codepoints(), Linien (: The rationale zur Entfernung wurde von Brian Goetz gegeben), usw.) mit einem Methodennamen, der besser geeignet ist als "stream". Also ich denke, wir sollten Streamable fallen lassen und die stream()/parallel() -Methoden auf Collection (oder möglicherweise verschieben sie Iterable).

And also:

Ich bin zu denken beginnen, dass Stream nicht sein Gewicht trägt. Ich würde in Erwägung ziehen, Streamingable fallen zu lassen, zu welchem ​​Zeitpunkt die Basis- Implementierung von parallel() in Collection ist, und ich würde auch vorschlagen, dass wir in Erwägung ziehen, das zu parallelStream() umzubenennen.

In this other post fügt er hinzu:

, wenn alles, was Iterable ist effektiv Stream (weil Iterable hat einen Strom()) Methode und alles Stream ist effektiv Iterable (weil Sie verwandeln Splitterator in einen Iterator), sind sie dann nicht die gleiche Abstraktion?

+6

Traurig, 'Iterable' hat keine' Stream' Methode mehr: | – raindev