美文网首页
java.lang.UnsupportedOperationEx

java.lang.UnsupportedOperationEx

作者: 西谷haul | 来源:发表于2021-11-05 09:56 被阅读0次

问题代码如下:

            //将出入量项目子项统计结果为0的也进行统计
            List<String> showNoneItemList = new ArrayList();
            showNoneItemList = Arrays.asList(chooseArray);
            for (int i = 0; i < summaryList.size(); i++) {
                Iterator<String> it = showNoneItemList.iterator();
                while (it.hasNext()) {
                    if (it.next().equals(summaryList.get(i).getIdVsItem())) {
                        it.remove();
                    }
                }
            }
执行结果

发生问题的原因如下:
调用Arrays.asList()生产的List的add、remove方法时报异常,这是由Arrays.asList() 返回的市Arrays的内部类ArrayList, 而不是java.util.ArrayList。Arrays的内部类ArrayList和java.util.ArrayList都是继承AbstractList,remove、add等方法AbstractList中是默认throw UnsupportedOperationException而且不作任何操作。java.util.ArrayList重写了这些方法而Arrays的内部类ArrayList没有重写,所以会抛出异常。

解决方法:

//将出入量项目子项统计结果为0的也进行统计
            List<String> ArrayList = Arrays.asList(chooseArray);
            List showNoneItemList = new ArrayList(ArrayList);
            for (int i = 0; i < summaryList.size(); i++) {
                Iterator<String> it = showNoneItemList.iterator();
                while (it.hasNext()) {
                    if (it.next().equals(summaryList.get(i).getIdVsItem())) {
                        it.remove();
                    }
                }
            }

相关文章

网友评论

      本文标题:java.lang.UnsupportedOperationEx

      本文链接:https://www.haomeiwen.com/subject/phalzltx.html