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。