欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java细节之list删除 博客分类: JAVA java 

程序员文章站 2024-03-06 12:07:01
...
       List<String> al = new ArrayList<String>();
       初始化方案1: al = Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13");
       初始化方案2: al = Lists.newArrayList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13");
        al.removeIf((t)->Integer.valueOf(t)%2==1);

al.forEach((n) -> {
            System.out.println(n);
        });

测试结果:
使用初始化方案1会报错:
java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(AbstractList.java:161)
at java.util.AbstractList$Itr.remove(AbstractList.java:374)
at java.util.Collection.removeIf(Collection.java:415)
使用初始化方案2正常


原因:

List<String> al = new ArrayList<String>();
al = Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13");
其Arrays.asList返回的对象也交做ArrayList但是其内部静态类,其并不不支持删除
相关标签: java