Java-8: boolean primitive array-stream?

Es ist keine schöne Art und Weise zu konvertieren gegeben boolean[] foo array in stream in Java-8 in einer Anweisung, oder bin ich etwas fehlt?

(ich werde nicht Fragen warum?, aber es ist wirklich unverständlich: warum nicht fügen Sie die stream-Unterstützung für alle primitiven Typen?)

Hinweis: Arrays.stream(foo) wird nicht funktionieren, es gibt keine solche Methode für boolean[] geben.

In der Tat, Java 8 bietet nur spezialisierte primitiven streams für int, long und double, und Arrays.stream nicht akzeptieren boolean[]. Ich denke, Sie haben zu Feld.
Ich denke, der Punkt ist, um in der Lage zu tun stream-Operationen. Sie können tun, dass auf BitSet?
ja, Sie können tun, stream-Operationen auf bit-set. Das Ergebnis könnte aber anders sein, als Sie für das streaming über die bits (D. H. Ihre positions-Nummer) dann. Überraschend ist, dass die Hindernisse auf der anderen Seite: es gibt keine prägnante Art und Weise zu konvertieren boolean[] array an eine BitSet.
Hoffe, der verlinkte Q&A noch hilft. Erstellen BooleanStream würde auch bedeuten, die Schaffung von PrimitiveIterator.OfBoolean, OptionalBoolean, BooleanFunction<T>, BooleanPredicate (oder tun wir missbrauchen BooleanUnaryFunction für das?), BooleanBinaryOperator, BooleanToIntFunction, BooleanToLongFunction, BooleanToDoubleFunction, BooleanConsumer, (aus irgendeinem unerfindlichen Grund BooleanSupplier vorhanden)ObjBooleanConsumer, BooleanSummaryStatistics usw.
BooleanSupplier rundet die matrix der (Object|int|long|double|void) -> (Object|int|long|double|void|boolean) Funktionen: alle 30 dieser tatsächlich existiert im JDK, und keine andere/null-argument-Funktionen geboten scheint. So BooleanSupplier sieht zumutbar ist.

InformationsquelleAutor Andremoniy | 2017-02-14

Schreibe einen Kommentar