java.lang.IllegalStateException: No modifications are allowed to a locked ParameterMap问题的解决

    对request.getParameterMap()获取的参数进行修改时,发现报异常显示为java.lang.IllegalStateException: No modifications are allowed to a locked ParameterMap经查询,发现java的原生对象是不允许修改的,如下代码:

Map<String,String[]> m = getParaMap();

是不能对m进行直接修改,因为用等号赋值只是地址引用,并没有改变内存空间,因此无法对之前产生的那个被锁定的对象进行操作。

       解决方法:用new重新创建一个新的对象,重新申请一个内存空间,然后把锁定的对象重新复制到新的空间中,将不可变变为可变。代码如下:

Map<String,String[]> m = new HashMap<String,String[]>(getParaMap());

猜你喜欢

转载自www.cnblogs.com/w-king/p/12183036.html