Arrays.asList转换为List集合后使用add方法抛出UnsupportedOperationException

问题场景:

        

        将String[] 数组转为 List集合,后对list集合进行添加删除报UnsupportedOperationException

百度原因:

        Arrays.asList返回的集合不支持元素的添加和删除(不支持add、addAll、remove方法),否则抛出UnsupportedOperationException(不支持操作异常)。

分析原理:

        首先先分析Arrays.asList源码

可以看出asList方法中是new ArrayList,而内部类ArrayList是继承的AbstractList类

发现AbstractList类中的add方法是抛出异常,因此需要内部类ArrayList重写add、remove方法才可以使用,因此asList方法返回的内部类不能调用add、remove方法。

如何解决?

         新建一个ArrayList即可解决

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/535594.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx实时流量拷贝ngx_http_mirror_module

参考: Module ngx_http_mirror_module Nginx流量拷贝ngx_http_mirror_module模块使用方法详解 ngx_http_mirror_module用于实时流量拷贝 请求一个接口,想实时拷贝这个请求转发到自己的服务上,可以使用ngx_http_mirror_module模块。 官网好像…

Java Web实战(四)Web后端之MyBatis-基础用法详解

文章目录 1. 使用MyBatis1-1. JDBC介绍1-2. 数据库连接池1-3. Lombook 2. mybatis 基础2-2. CURD操作2-2-1. delete 操作2-2-2. 预编译sql2-2-3. 插入语句2-2-4. XML-SQL2-2-5. insert主键回显 2-3. 查询语句 3. 动态SQL3-1. <if> MyBatis是一款优秀的 持久层 框架&#…

STM32点亮LED灯与蜂鸣器发声

STM32之GPIO GPIO在输出模式时可以控制端口输出高低电平&#xff0c;用以驱动Led蜂鸣器等外设&#xff0c;以及模拟通信协议输出时序等。 输入模式时可以读取端口的高低电平或电压&#xff0c;用于读取按键输入&#xff0c;外接模块电平信号输入&#xff0c;ADC电压采集灯 GP…

前端的数据标记协议

文章目录 数据标记协议是什么数据标记协议的作用常见的数据标记协议Open Graph protocol 开放图谱协议基本元数据协议可选元数据结构化属性 —— 元数据的属性多个相同的元数据标签类型元数据的使用方法全局类型使用自定义类型使用对象类型使用歌曲对象类型视频对象类型文章对象…

C++学习路线

C学习路线思维导图&#xff0c;肝了一个星期终于搞定&#xff0c;这么硬核求个赞不过分吧&#xff1f; 思维导图的内容&#xff0c;也是本文的内容框架&#xff0c;坐稳扶好&#xff0c; C 高速快车要发车了&#xff01; 内容我会持续更新&#xff0c;点赞收藏&#xff0c;…

用户视角的比特币和以太坊外围技术整理

1. 引言 要点&#xff1a; 比特币L2基本强调交易内容的隐蔽性&#xff0c;P2P交易&#xff08;尤其是支付&#xff09;成为主流&#xff0c;给用户带来一定负担&#xff08;闪电网络&#xff09;在以太坊 L2 中&#xff0c;一定程度上减少了交易的隐蔽性&#xff0c;主流是实…

罐头鱼AI批量剪辑短视频系统|视频矩阵获客

智能化管理&#xff0c;轻松批量剪辑短视频&#xff01;AI系统助力您的视频营销提效&#xff01; 随着短视频营销的兴起&#xff0c;我们推出了一款AI批量剪辑短视频系统&#xff0c;QQ:290615413让视频制作更加智能高效。以下是系统的主要功能特点&#xff1a; 首页显示&#…

Android Gradle 开发与应用 (六) : 创建buildSrc插件和使用命令行创建Gradle插件

1. 前言 前文中&#xff0c;我们介绍了在Android中&#xff0c;如何基于Gradle 8.2&#xff0c;创建Gradle插件。这篇文章&#xff0c;我们以buildSrc的方式来创建Gradle插件。此外&#xff0c;还介绍一种用Cmd命令行的方式&#xff0c;来创建独立的Gradle插件的方式。 1.1 本…

技术派整合MyBatis-Plus

Mybatis-Plus大家都熟悉了吧&#xff1f;是一个Mybatis的增强&#xff0c;提供了一些额外功能&#xff0c;比如条件构造器、分页插件、代码生成器等以便我们更专注于业务&#xff0c;而不是SQL语句的编写 官方教程&#xff1a;简介 | MyBatis-Plus 整合MyBatis-Plus 非常简单…

【大数据开发--概念篇】

前言&#xff1a; &#x1f49e;&#x1f49e;大家好&#xff0c;书生♡&#xff0c;今天主要和大家分享一下大数据的相关概念&#xff0c;以及我们大数据开发的环境&#xff0c;希望对大家有所帮助。 &#x1f49e;&#x1f49e;路漫漫&#xff0c;希望大家坚持下去&#xff0…

【系统架构设计师】系统工程与信息系统基础 01

系统架构设计师 - 系列文章目录 01 系统工程与信息系统基础 文章目录 系列文章目录 前言 一、系统工程 ★ 二、信息系统生命周期 ★ 信息系统建设原则 三、信息系统开发方法 ★★ 四、信息系统的分类 ★★★ 1.业务处理系统【TPS】 2.管理信息系统【MIS】 3.决策支持系统…

ELK 安装部署

文章目录 1.日志收集规划2.Elasticsearch部署2.1.Elasticsearch安装2.2.Elasticsearch-head安装2.3.Elasticsearch设置分片数2.4.elasticsearch健康检查 3.Kibana部署4.Logstash部署5.Filebeat部署 开源中间件 # Elastic Stackhttps://iothub.org.cn/docs/middleware/ https:/…