Map mapTemp = (Map) resultMap.get("MAP");
mapTemp.put("test","testValue");
put方法抛出异常:java.lang.UnsupportedOperationException
仔细观察发现,mapTemp的变量类型为RegularImmutableMap不是我们熟悉的HashMap,
联想Arrays.asLisvt()获得的list同样执行add,remove这些method时出现java.lang.UnsupportedOperationException异常,需要将list转换为ArrayList才能调用add,remove等方法,我们的解决办法就是把RegularImmutableMap转换为HashMap。
Map<String,Object> map = new HashMap<String,Object>();
map.putAll(mapTemp);
注意:1、Map<String,Object> map = new HashMap<String,Object>(mapTemp);这种转换出来,map还是RegularImmutableMap类型的;
2、如果是list集合出现java.lang.UnsupportedOperationException异常,需要将list转换为ArrayList。
本文介绍如何处理在尝试修改RegularImmutableMap时遇到的UnsupportedOperationException。通过将RegularImmutableMap转换为HashMap,可以避免异常并实现map的修改操作。
2964

被折叠的 条评论
为什么被折叠?



