Si le but de cet exemple et de cette question est de comprendre comment mapper des chaînes à un flux d'entiers (par exemple, en utilisant un flux d'entiers pour accéder à un index dans un tableau de chaînes), vous pouvez également utiliser la boxe, puis la conversion en un int (qui permettrait alors d'accéder à l'index du tableau).
int[] numbers = {0, 1, 2, 3};
String commaSeparatedNumbers = Arrays.stream(numbers)
.boxed()
.map((Integer i) -> Integer.toString((int)i))
.collect(Collectors.joining(", "));
L'appel .boxed () convertit votre IntStream (un flux d'entiers primitifs) en un Stream (un flux d'objets - à savoir, des objets Integer) qui acceptera alors le retour d'un objet (dans ce cas, un objet String) de votre lambda. Ici, il s'agit simplement d'une représentation sous forme de chaîne du nombre à des fins de démonstration, mais cela pourrait tout aussi facilement (et plus pratiquement) être n'importe quel objet de chaîne - comme l'élément d'un tableau de chaînes comme mentionné précédemment.
Je pensais juste offrir une autre possibilité. En programmation, il existe toujours plusieurs façons d'accomplir une tâche. Apprenez-en autant que vous le pouvez, puis choisissez celui qui convient le mieux à la tâche à accomplir, en gardant à l'esprit les problèmes de performances, l'intuitivité, la clarté du code, vos préférences en matière de style de codage et le plus auto-documenté.
Bon codage!
IntStream
etStream<Integer>
?