Arrays.asList 无法 remove

Arrays.asList 无法 remove

原因,Arrays.asList 函数返回的是 Arrays的内部类,而不是 java.util 包下的 ArrayList 类。

两者为什么有共同点呢?因为 同样继承自 AbstractList 类

解决办法

封装工具函数

/**
 * 数组 转 List
 * @param arr
 * @param <T>
 * @return
 */
public static <T> List<T> arrayToList(T... arr) {
    List<T> list = new ArrayList<>(arr.length);
    list.addAll(Arrays.asList(arr));
    return list;
}

 

参考链接:

Arrays.asList()为什么不能remove?-阿里云开发者社区 (aliyun.com)

arraylist执行remove方法的时候报错:java.lang.UnsupportedOperationException: null_FLL430的博客

posted @ 2023-01-13 14:14  散人长情  阅读(137)  评论(0编辑  收藏  举报