关于Arrays.asList()方法转List操作异常

1、add()、remove()、add()、removeAll() … 等添加/删除方法不可用

        String demoStr = "张三,李四,王五,赵六,孙七";
        String aimStr = "李四,王五";
        List<String> demoList = Arrays.asList(demoStr.split(","));
        //需要删除的数据
        List<String> demoAimList = Arrays.asList(aimStr.split(","));

       //demoList删指定数据demoAimList
        demoList.removeAll(demoAimList);
报错:java.lang.UnsupportedOperationException   
问题排查:Arrays.asList()的源码可以发现,方法返回的ArrayList 并不是 java.utill.ArrayList 而是 java.utill.arrays.ArrayList

 解决方法:

将 demoList 转为ArrayList

     List<String> demoSecondList = new ArrayList<>(demoList);

    demoSecondList. demoList.removeAll(demoAimList);

posted @ 2023-08-16 10:57  唯恐不及  阅读(22)  评论(0)    收藏  举报