Je suis en train de convertir une liste 2D en un tableau 2D int
. Cependant, il semble que je ne peux que collecter des objets, pas des primitives.Comment collecter les résultats d'un flux dans un tableau primitif?
Quand je fais:
data.stream().map(l -> l.stream().toArray(int[]::new)).toArray(int[][]::new);
Je reçois l'erreur de compilation Cannot infer type argument(s) for <R> map(Function<? super T,? extends R>)
. Cependant, si je change int[]
en Integer[]
, il compile. Comment puis-je l'utiliser pour utiliser int
?
Pour le lambda, essayez 'l.stream(). MapToInt (entier :: intValue) .toArray()' – 4castle
Comment puis-je recueillir les résultats de ce bien? Cela ne fait que des opérations sur le Stream sans stocker les résultats. –
Ma suggestion gère le lambda incorrect que vous utilisiez. Il va collecter correctement maintenant. – 4castle