美文网首页
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