开发者社区> 问答> 正文

Java 8 map.replaceAll方法抛出UnsupportedOperationExcep

我正在尝试替换“;” 用“,”

Map<String, String> params =// Random method params.replaceAll((key, value) -> value.replaceAll(";", ",")); 第2行抛出异常。

java.lang.UnsupportedOperationException at java.util.Collections$UnmodifiableMap.replaceAll(Collections.java:1510) 我正在尝试用逗号替换值中的任何分号。

展开
收起
小六码奴 2019-10-14 16:57:14 4900 0
1 条回答
写回答
取消 提交回答
  • com.google.common.base.Splitter.split()返回的是不可修改的map。

    你可以在开始修改值之前将不可修改的映射复制到可修改的映射。

    例如;

    Map paramMap = Splitter.on(",").withKeyValueSeparator(":").split(lineitem); paramMap = Maps.newHashMap(paramMap); paramMap.replaceAll((key, value) -> value.replaceAll(";", ","));

    2019-10-14 16:57:59
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载