Próbuję zrobić coś takiego:Dlaczego nie ma IntStream.flatMapToObj()?
Stream<Object> stream = IntStream.of(...)
.flatMapToObj(i -> getStreamOfObjects(i));
Niestety IntStream.flatMapToObj()
nie istnieje, nawet w Javie 9.
- Dlaczego został pominięty?
- Jakie jest zalecane obejście tego problemu?
dobra odpowiedź. Myślę, że podświadomie zakładam, że 'IntStream.flatMapToObj()' był tak samo potrzebny jak 'Stream.flatMapToInt()', ale oczywiście tak nie jest. – shmosel
to '.flatMap (...)' powinno być prawdopodobnie '.flatMap (Function.identity())', ponieważ już zmapowałeś do strumieni z mapToObj –
Nie jestem aż tak przekonany - w API jesteśmy biorąc pod uwagę metodę '.boxed()', która powinna wyeliminować potrzebę '.mapToObj (...)', ponieważ wszystkie mogą być przepisane na '.boxed(). map (...)'. Wydaje się zatem niespójne dostarczenie '.mapToObj()' ('.boxed(). Map (...)'), ale nie '.flatMapToObj()' ('.boxed(). FlatMap()'). – MrPotes