преобразование Java: многозначная карта < String, String > сопоставить < String, String [] >

Правильная вещь - использовать код «escape-escape» для декодирования строки.

>>> myString = "spam\\neggs"
>>> decoded_string = bytes(myString, "utf-8").decode("unicode_escape") # python3 
>>> decoded_string = myString.decode('string_escape') # python2
>>> print(decoded_string)
spam
eggs

Не используйте AST или eval. Использование строковых кодеков намного безопаснее.

-1
задан Zeruno 17 January 2019 в 18:02
поделиться

1 ответ

Возьмите набор карт и соберите его самостоятельно:

Map<String, String[]> result = map.entrySet()
        .stream()
        .collect(Collectors.toMap(
            Map.Entry::getKey, 
            e -> e.getValue().toArray(new String[e.getValue().size()])
        ));
0
ответ дан nickb 17 January 2019 в 18:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: