Ho un Map<String,List<String>>e voglio che si trasformi in Map<String,List<Long>>perché ognuno Stringnell'elenco rappresenta 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()))
);
Il mio problema principale è che ognuno Stringpotrebbe non rappresentare correttamente a Long; potrebbe esserci qualche problema. Long::valueOfpuò sollevare eccezioni. In questo caso, desidero restituire un valore nullo o vuotoMap<String,List<Long>>
Perché voglio iterare dopo su questa outputmappa. Ma non posso accettare alcuna conversione di errore; nemmeno uno solo. Qualche idea su come posso restituire un output vuoto in caso di stringa errata -> Conversione lunga?
LongStreamse hai intenzione di rimuovere i emptyrisultati)