关于List操作导致的java.lang.UnsupportedOperationException

今天删除list中的元素时候得到这个报错

        List<String> checkNameList = new ArrayList();
        if (checkName != null && !checkName.equals("")){
            checkNameList = Arrays.asList(checkName.split(","));
        }
            for (int i = 0; i < checkNameList.size(); i++) { 
            if (checkNameList.get(i).indexOf(cstaff.getSTAFF_NAME()) >= 0
                    && checkNameList.get(i).indexOf(cstaff.getDEPT_NAME()) > 0 ){
                checkNameList.remove(i);
            }

        }

经过排查 原因应该是赋值的时候 转换了list类型 从arraylisit 转为了arrays

arrays中的remove没有实现 直接弹出错误

解决方案:

        List<String> checkNameList = new ArrayList();
        if (checkName != null && !checkName.equals("")){
            checkNameList = new ArrayList(Arrays.asList(checkName.split(",")));
        }
            for (int i = 0; i < checkNameList.size(); i++) { 
            if (checkNameList.get(i).indexOf(cstaff.getSTAFF_NAME()) >= 0
                    && checkNameList.get(i).indexOf(cstaff.getDEPT_NAME()) > 0 ){
                checkNameList.remove(i);
            }

        }

在=的时候,套一层,得到arrayList

猜你喜欢

转载自blog.csdn.net/jtfyh/article/details/121118492