Warum ist IntStream.flatMapToObj () nicht vorhanden?

6

Ich versuche so etwas zu tun:

%Vor%

Leider ist IntStream.flatMapToObj() nicht vorhanden, nicht einmal in Java 9.

  1. Warum wurde es weggelassen?
  2. Was ist eine empfohlene Problemumgehung?
shmosel 23.12.2016, 05:40
quelle

3 Antworten

10
  

Warum wurde es weggelassen?

Die API bietet wiederverwendbare Bausteine. Die relevanten Bausteine ​​sind hier IntStream , mapToObj , flatMap . Von diesen können Sie erreichen, was Sie wollen: Zuordnen Sie einen In-Stream zu Objekten, und erhalten Sie dann eine flache Karte. Das Bereitstellen von Permutationen von Bausteinen wäre nicht praktikabel und schwieriger zu erweitern.

  

Was ist eine empfohlene Problemumgehung?

Wie bereits erwähnt, verwenden Sie die verfügbaren Bausteine ​​( mapToObj + flatMap ):

%Vor%     
janos 23.12.2016, 05:48
quelle
6

Schreiben Sie einfach

%Vor%     
Louis Wasserman 23.12.2016 05:42
quelle
6

Die Verwendung eines Boxed-Streams würde funktionieren, wenn es Ihnen nichts ausmacht, jeden int -Wert einzupacken.

%Vor%     
prunge 23.12.2016 05:47
quelle

Tags und Links