J'ai un Map<String,List<String>>et je veux qu'il se transforme en Map<String,List<Long>>parce que chacun Stringdans la liste représente un Long:
Map<String,List<String>> input = ...;
Map<String,List<Long>> output=
input.entrySet()
.stream()
.collect(toMap(Entry::getKey, e -> e.getValue().stream()
.map(Long::valueOf)
.collect(toList()))
);
Mon principal problème est que chacun Stringpeut ne pas représenter correctement un Long; il peut y avoir un problème. Long::valueOfpeut soulever des exceptions. Si tel est le cas, je veux retourner une valeur nulle ou videMap<String,List<Long>>
Parce que je veux répéter après cette outputcarte. Mais je ne peux accepter aucune conversion d'erreur; pas même un seul. Une idée de la façon dont je peux retourner une sortie vide en cas de chaîne incorrecte -> Conversion longue?
LongStreamsi vous prévoyez de supprimer les emptyrésultats)