I'm trying to do something like this:
Stream<Object> stream = IntStream.of(...)
.flatMapToObj(i -> getStreamOfObjects(i));
Unfortunately, IntStream.flatMapToObj()
doesn't exist, even in Java 9.
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(...);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With