Les méthodes d'assistance de la réponse acceptée ne sont pas nécessaires. Les flux peuvent être utilisés avec des lambdas ou généralement raccourcis à l'aide de références de méthode . Les flux permettent des opérations fonctionnelles. map()
convertit les éléments et / collect(...)
ou toArray()
encapsule le flux dans un tableau ou une collection.
Le discours (vidéo) de Venkat Subramaniam l' explique mieux que moi.
1 Convertir List<String>
enList<Integer>
List<String> l1 = Arrays.asList("1", "2", "3");
List<Integer> r1 = l1.stream().map(Integer::parseInt).collect(Collectors.toList());
// the longer full lambda version:
List<Integer> r1 = l1.stream().map(s -> Integer.parseInt(s)).collect(Collectors.toList());
2 Convertir List<String>
enint[]
int[] r2 = l1.stream().mapToInt(Integer::parseInt).toArray();
3 Convertir String[]
enList<Integer>
String[] a1 = {"4", "5", "6"};
List<Integer> r3 = Stream.of(a1).map(Integer::parseInt).collect(Collectors.toList());
4 Convertir String[]
enint[]
int[] r4 = Stream.of(a1).mapToInt(Integer::parseInt).toArray();
5 Convertir String[]
enList<Double>
List<Double> r5 = Stream.of(a1).map(Double::parseDouble).collect(Collectors.toList());
6 (bonus) Convertir int[]
enString[]
int[] a2 = {7, 8, 9};
String[] r6 = Arrays.stream(a2).mapToObj(Integer::toString).toArray(String[]::new);
Bien sûr, beaucoup plus de variations sont possibles.
Voir également la version Ideone de ces exemples . Peut cliquer sur fork, puis exécuter pour exécuter dans le navigateur.
Lists.transform()
.