Java 8: Convertir des dates en utilisant stream
J'essaie de convertir dynamiquement les dates. J'ai essayé cette méthode mais elle renvoie void.
Comment en faire un tableau d'objets LocalDate
?
String[] datesStrings = {"2015-03-04", "2014-02-01", "2012-03-15"};
LocalDate[] dates = Stream.of(datesStrings)
.forEach(a -> LocalDate.parse(a)); // This returns void so I
// can not assign it.
4
1 answers
À l'Aide de forEach
est une mauvaise pratique pour cette tâche: vous devez muter une variable externe.
Ce que vous voulez, c'est mapper chaque date en tant que chaîne à son équivalent LocalDate
. Par conséquent, vous voulez l'opération map
:
LocalDate[] dates = Stream.of(datesStrings)
.map(LocalDate::parse)
.toArray(LocalDate[]::new);
12
Author: Tunaki, 2017-05-23 10:27:20