【错误记录】Arrays.asList 的坑

news/2025/2/27 5:56:29

文章目录

    • 概要
    • 原因
    • 小结

概要

最近在写一个需求的时候用到了这个方法生成一个 List,接着再往里面添加数据的时候就报错了,比如下面的例子。

java">public class Main {
    public static void main(String[] args) {
        List<Integer> res = Arrays.asList(1, 2, 3);
        res.add(4);
        System.out.println(res);
    }
}

结果就报错了:
在这里插入图片描述


原因

下面就来看下 Arrays.asList 的源码。

java">public static <T> List<T> asList(T... a) {
    return new ArrayList<>(a);
}

上面会创建一个 ArrayList,这个 ArrayList 不是我们经常用的那一个,而是 Arrays 里面的内部类,这个 List 不支持新增和修改方法,所以一旦用了 add 或者 remove, 就会报错。
在这里插入图片描述


小结

说实话,第一次遇到这个错都有点懵,是真没想到 ArrayList 是 Arrays 里面的一个子类,所以如果要通过集合来创建一个可修改的集合,还是直接 new 比较好吧。

java">public class Main {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3));
        list.add(4);
        list.add(5);
        System.out.println(list);
    }
}





如有错误,欢迎指出!!!


http://www.niftyadmin.cn/n/5869585.html

相关文章

apache-maven-3.2.1

MAVEN_HOME D:\apache-maven-3.2.1 PATH D:\apache-maven-3.2.1\bin cmd mvn -v <localRepository>d:\localRepository</localRepository> setting.xml <?xml version"1.0" encoding"UTF-8"?><!-- Licensed to the Apache Soft…

java23种设计模式-中介者模式

中介者模式&#xff08;Mediator Pattern&#xff09;学习笔记 编程相关书籍分享&#xff1a;https://blog.csdn.net/weixin_47763579/article/details/145855793 DeepSeek使用技巧pdf资料分享&#xff1a;https://blog.csdn.net/weixin_47763579/article/details/145884039 1.…

卡 bug 了?

与工作搭子的日常&#xff1a; 远光小天&#xff1a; 卡 bug&#xff1f;不存在的&#xff01; 这是三岁孩童的正确打开方式&#xff5e; Tips&#xff1a; 远光小天是基于九天研发大模型面向企业研发用户打造的一体化 AI 研发解决方案。基于通用大模型底座&#xff0c;通过模型…

小折叠手机变身老式掌上电脑,Clicks推出新款外置QWERTY键盘

在科技飞速发展的今天,手机的形态和功能日新月异,直板大屏触控手机一统天下,虚拟键盘成为了我们与手机交互的主要方式。但你是否偶尔会怀念曾经那个按动实体按键,噼里啪啦打字的时代?嘿,还真就有人懂你的这份“复古情怀”,这不,Clicks推出了新款外置QWERTY键盘,直接让…

uniapp 测试 IPA 包安装到测试 iPhone

将uniapp测试IPA包安装到测试iPhone有以下几种方法&#xff1a; 使用Xcode安装 确保计算机上安装了Xcode&#xff0c;并将iOS设备通过数据线连接到计算机。打开Xcode&#xff0c;在菜单栏中选择Window->Devices and Simulators&#xff0c;在设备列表中找到要安装的iPhone…

基于帧差分法的车辆检测系统(Matlab)

基于帧差分法的视频目标检测系统&#xff08;Matlab&#xff09; Matlab车辆行驶检测与定位&#xff08;可用于车辆&#xff09; 【完整源码GUI界面&#xff0c;可根据需求帮改界面内容】 【可作报告和伦纹PPT等资料】 需要可随时联系博主&#xff0c;常在线能秒回&#xff01…

mapbox添加自定义图片绑定点击事件,弹窗为自定义组件

一、首先构建根据后端返回的数据构建geojson格式的数据&#xff0c;点位的geojson数据格式&#xff1a; {"type": "FeatureCollection","features": [{"type": "Feature","geometry": {"type": "…

现代前端框架渲染机制深度解析:虚拟DOM到编译时优化

引言&#xff1a;前端框架的性能进化论 TikTok Web将React 18迁移至Vue 3后&#xff0c;点击响应延迟降低42%&#xff0c;内存占用减少35%。Shopify采用Svelte重构核心交互模块&#xff0c;首帧渲染速度提升580%。Discord在Next.js 14中启用React Server Components后&#xf…