I\'m trying to do something like this:
Stream
<
Just write
IntStream.of(...).mapToObj(i -> getStreamOfObjects(i)).flatMap(stream -> stream)
Using a boxed stream would work if you don't mind the cost of boxing each int
value.
Stream<Object> stream = IntStream.of(...).boxed().flatMap(i -> getStreamOfObjects(i));
Why was it was left out?
The API provides reusable building blocks. The relevant building blocks here are IntStream
, mapToObj
, flatMap
. From these you can achieve what you want: map an in stream to objects, and then get a flat map. Providing permutations of building blocks would not be practical, and harder to extend.
What's a recommended workaround?
As hinted earlier, use the available building blocks (mapToObj
+ flatMap
):
Stream<Object> stream = IntStream.of(...)
.mapToObj(i -> Stream.of(...))
.flatMap(...);