Mam Map<String,List<String>>i chcę, aby się zmieniło, Map<String,List<Long>>ponieważ każdy Stringna liście reprezentuje 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()))
);
Moim głównym problemem jest to, że każdy z nich Stringmoże nie przedstawiać poprawnie Long: może być jakiś problem.Long::valueOfmoże zgłaszać wyjątki. W takim przypadku chcę zwrócić wartość zerową lub pustąMap<String,List<Long>>
Ponieważ chcę iterować po tej outputmapie. Ale nie mogę zaakceptować żadnej konwersji błędu; ani jednego. Masz pomysł, jak mogę zwrócić puste wyjście w przypadku niepoprawnego ciągu -> Długa konwersja?
LongStreamjeśli planujesz usunąć emptywyniki)