Arrays.asList()的问题记录

1、Arrays.asList()

Arrays.asList()返回的是

复制代码
    public static <T> List<T> asList(T... a) {
        return new ArrayList<>(a);
    }

private static class ArrayList<E> extends AbstractList<E>
        implements RandomAccess, java.io.Serializable

没有实现增删改查方法,使用增删改查会报错

复制代码
Exception in thread "main" java.lang.UnsupportedOperationException

2、new ArrayList<Integer>()

new ArrayList<Integer>()实现了List接口

复制代码
public class ArrayList<E> extends AbstractList<E>
        implements List<E>, RandomAccess, Cloneable, java.io.Serializable

3、解决方法

可以使用new ArrayList<Integer>(Arrays.asList())返回可增删改查的数组。

List中删除方法重载了。

boolean remove(Object o);

E remove(int index);

当数组中泛型为Integer时,可以采用new Integer()包装的形式,来调用boolean remove(Object o); 方法。

相关推荐
木宇(记得热爱生活)9 分钟前
Qt GUI缓存实现
开发语言·qt·缓存
lly20240614 分钟前
C# 正则表达式
开发语言
Chef_Chen16 分钟前
从0开始学习R语言--Day58--竞争风险模型
android·开发语言·kotlin
bright_colo19 分钟前
Python-初学openCV——图像预处理(四)——滤波器
python·opencv·计算机视觉
Nandeska32 分钟前
一、Python环境、Jupyter与Pycharm
python·jupyter·pycharm
咖啡の猫39 分钟前
bash的特性-常见的快捷键
开发语言·chrome·bash
命苦的孩子41 分钟前
Java 中的排序算法详解
java·开发语言·排序算法
咖啡の猫41 分钟前
bash的特性-常用的通配符
开发语言·chrome·bash
淮北4941 小时前
STL学习(四、队列和堆栈)
开发语言·c++·学习