Die Hilfsmethoden aus der akzeptierten Antwort werden nicht benötigt. Streams können mit Lambdas verwendet oder normalerweise mithilfe von Methodenreferenzen gekürzt werden . Streams ermöglichen funktionale Operationen. map()
konvertiert die Elemente und collect(...)
odertoArray()
verpackt den Stream wieder in ein Array oder eine Sammlung.
Venkat Subramaniams Vortrag (Video) erklärt es besser als ich.
1 Konvertieren List<String>
inList<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 Konvertieren List<String>
inint[]
int[] r2 = l1.stream().mapToInt(Integer::parseInt).toArray();
3 Konvertieren String[]
inList<Integer>
String[] a1 = {"4", "5", "6"};
List<Integer> r3 = Stream.of(a1).map(Integer::parseInt).collect(Collectors.toList());
4 Konvertieren String[]
inint[]
int[] r4 = Stream.of(a1).mapToInt(Integer::parseInt).toArray();
5 Konvertieren String[]
inList<Double>
List<Double> r5 = Stream.of(a1).map(Double::parseDouble).collect(Collectors.toList());
6 (Bonus) Konvertieren int[]
inString[]
int[] a2 = {7, 8, 9};
String[] r6 = Arrays.stream(a2).mapToObj(Integer::toString).toArray(String[]::new);
Natürlich sind viel mehr Variationen möglich.
Siehe auch Ideone-Version dieser Beispiele . Kann auf Gabel klicken und dann ausführen, um im Browser ausgeführt zu werden.
Lists.transform()
.