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