Java异常 java.lang.UnsupportedOperationException

arthas retransform热更新 【代码】arthas retransform热更新。 阅读详情

Java异常 java.lang.UnsupportedOperationException

java.lang.UnsupportedOperationException
	at java.util.AbstractList.remove(AbstractList.java:161)
	at java.util.AbstractList$Itr.remove(AbstractList.java:374)
	at java.util.AbstractCollection.remove(AbstractCollection.java:293)

产生异常的代码块:

List<String> selectUserIdList = Arrays.asList(userIds);
        // 获取该角色下的用户集合
        List<SysUserRoleEntity> roleUserList = userRoleMapper.getUsersByRoleId(null, roleId, null);
        // 移除掉userIds中已经存在该角色下用户id
        if(! roleUserList.isEmpty()) {
            for (SysUserRoleEntity item : roleUserList) {
                selectUserIdList.remove(item.getUserId());
            }
        }

这里主要涉及到 java.util.Arrays 类中的内部类 ArrayList 类和 java.util.ArrayList 类的区别。

1、首先看一下 Arrays 类

Arrays 类结构如下:
Arrays类结构
Arrays.asList() 方法返回的是内部类 ArrayList ,asList() 方法如图:
Arrays.asList() 方法
可以看到,Arrays 类中的内部类其实也是继承了抽象类 AbstractList 类,但是并没有重写 AbstractList 中的 remove() 方法,而 AbstractList 类中的 remove() 方法默认抛出异常 UnsupportedOperationException,不做任何操作,如图:
AbstractList 类中的 remove() 方法

2、再看一下 ArrayList 类

ArrayList 类结构如下图:
ArrayList 类结构
点到 remove() 方法可以看到,ArrayList 类是重写了父类AbstractList 类中的 remove() 方法的。如图:
ArrayList 类 remove() 方法

3、解决异常方法:

  1. 将 asList() 结果再次 new ArrayList(),转成 java.util.ArrayList 类对象;
    List selectUserIdList = Arrays.asList(userIds);
    List arrayList = new ArrayList(selectUserIdList);
满地坑!细数List的10个坑 今天我们主要来说一说List操作在实际使用中有哪些坑,以及面对这些坑的时候我们要怎么解决。由于篇幅的限制,我们只对一些在业务开发中常见的关键点进行梳理和介绍在实际的工作中,我们不单单是要清除不同类型容器的特性,还要选择适合的容器才能做到事半功倍。我们主要介绍了Arrays.asList转换过程中的一些坑,以及因为操作不当造成的OOM和异常,到最后介绍了线程安全类CopyOnWriteArrayList的一些坑,让我们认识到在丰富的API下藏着许多的陷阱。 阅读详情

相关推荐

正确解决java.lang.UnsupportedOperationException异常的有效解决方法

正确解决java.lang.UnsupportedOperationException异常的有效解决方法

wbajsjhhhhh的博客 3859

java.lang.UnsupportedOperationException的解决方法

·运行异常:java.lang.UnsupportedOperationException发生问题原因如下:1、在text类中存在两个包:a、java.util.ArrayList包;b、java.util.Arrays.ArrayList包(重点)2、调用Arrays.asList()生产的List的add、remove方法时报异常,这是由Arrays.asList() 返回的是Arrays的内部类ArrayList, 而不是java.util.ArrayList。3、使用asList方法继承的父类的ad

weixin_64738832的博客 6万+

Android笔记:java.lang.UnsupportedOperationException 异常的正确解决方法

在实现接口或继承抽象类时,确保所有必须的方法都已正确实现,并且不要直接调用父类或接口中的默认方法,除非你确定这些方法支持当前操作。示例代码:@Override@Override@Override// 可根据需要实现其他方法在 Java 编程环境中,属于一种异常类型,其产生根源在于试图去执行那些当前对象并不支持的操作,进而导致该异常被触发。为了有效解决以及避免。

知道的越多,不知道的越多。 1643

java.lang.UnsupportedOperationException

java.lang.UnsupportedOperationException是java不支持操作异常 在对Arrays.asList(T... a)生成的List集合进行add或者remove操作的时候出现的异常 出现场景:在使用Arrays.asList(T... a)将一个数组转成list,然后对这个list进行add,remove操作就会出现这个异常, 例如: String[] ...

qq_37025445的博客 1万+

从IMU数据到精准定位:手把手推导ESKF中的四元数运动学与误差状态方程

本文详细介绍了如何从IMU数据推导ESKF中的四元数运动学与误差状态方程,实现精准定位。通过分析误差状态卡尔曼滤波器的优势、四元数表示的必要性,以及IMU测量模型和运动学基础,提供了完整的数学推导和实现要点。适合机器人定位和自动驾驶领域的算法工程师参考,帮助优化导航系统性能。

weixin_30271335的博客 680

Hypack 应用于地形测量的高级设置操作要领

Hypack 是业界公认最好的水文导航测量软件,是目前世界上应用广泛的专业测量疏浚软件。它能够接收,处理,存储和输出各种数据。Hypack支持绝大部分GPS,测深仪(国内如海鹰HY1603单波束测沙仪),多波束测深仪,旁扫声纳,涌浪补偿器,水位仪,验潮仪以及声速剖面仪。利用 Hypack 可以进行导航,单波束测量,多波束测量,旁扫测量以及疏浚实时监测等。软件界面友好,使用方便。本文简要阐述Hypack 应用于地形测量的几个重要操作要领。

中游鱼的博客 2794

MyBatis遇到的异常java.lang.UnsupportedOperationException

MyBatis遇到的异常java.lang.UnsupportedOperationException Cause: java.lang.UnsupportedOperationException at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) a...

绝圣弃智-零的博客 2509

【纯血鸿蒙】安装hdc工具

参考资料:

oh.K 5553

java.lang.UnsupportedOperationException异常

转载:http://blog.sina.com.cn/s/blog_62ebbfa30100ud5u.html 常常使用Arrays.asLisvt()后调用add,remove这些method时出现java.lang.UnsupportedOperationException异常。这是由于: Arrays.asLisvt() 返回java.util.Arrays$ArrayLis

small5e4444的专栏 965

别再瞎试了!用Python+正交设计,5分钟搞定你的多因素实验方案

本文介绍了如何利用Python和正交设计高效优化多因素实验方案。正交设计通过精心设计的正交表,用最少的实验次数覆盖所有因素的水平组合,显著提升实验效率。文章详细讲解了正交设计的核心优势、Python实现工具链、实验实施与数据分析方法,以及高级技巧与常见问题解决方案,帮助读者快速掌握这一强大的实验优化技术。

weixin_42526087的博客 334

即插即用系列(代码实践)| GRSL 2024 ARConv核心模块:自适应矩形卷积——专为遥感图像设计,打破固定方形卷积束缚

摘要: 本文提出了一种用于遥感图像处理的自适应矩形卷积模块(ARConv),解决了传统方形卷积核在处理复杂几何结构(如细长道路、密集建筑物)时导致的光谱混叠和边缘模糊问题。ARConv通过动态调整卷积核的长宽比和旋转角度,使卷积核形状与地物特征自适应匹配。该模块可即插即用于全色锐化、语义分割等遥感任务,有效提升边缘保持能力和光谱保真度。核心代码基于PyTorch实现,包含偏移量生成和几何变换逻辑,支持梯度缩放以稳定训练。

分享顶会顶刊论文即插即用模块 140

java.lang.UnsupportedOperationException异常的原因和解决办法

java.lang.UnsupportedOperationException异常的原因和解决办法 在项目中对List进行操作时报错java.lang.UnsupportedOperationException,后来发现操作的List是由数组转换而成的,通过看源码发现问题如下: 代码块: private String[] strList = {"1","2","3","4","5","6","7","8","9","10","11","12","13"}; @Override public void

GWQ_CY的博客 3152

【WRF编译-Lab1】使用自动脚本编译WRF:错误总结

WRF编译过程及错误总结

WW、forever的博客 83

Mybatis_java.lang.UnsupportedOperationException异常

1. 发生异常的背景  情景: 好惭愧啊,最近居然犯了两次不该犯的错误。都怪自己不够细心。刚刚好自己在Mybatis这一模块上,根本没有记录多少,就哪来当做博文的材料吧。 我们在使用Mybatis的过程中,常常需要返回一个List集合。这个时候,如果我们一不小心写错了返回类型,则会报一个java.lang.UnsupportedOperationException错误,详情如下: // 所报的主要...

pseudonym_的博客 1158

基于STM32设计的数字电子秤

当前项目是采用采用STM32+称重模块+OLED实现了简单的电子秤项目,称重模块上采用24位的ADC芯片,精度较高。实现了称重,校准、去皮等功能。

1万+

LPDDR5 学习笔记01:功能概述

LPDDR5/LPDDR5X SDRAM设备采用8/16DQ通道架构,支持2Gb-32Gb容量。通过CK命令时钟和更快的WCK数据时钟协同工作,7个CA引脚传输控制信息,支持2:1或4:1的WCK:CK比例。设备提供BG/8B/16B三种存储模式选择,分别支持不同数据速率(最高8.533Gbps)和突发长度。采用0.5V VDDQ电源电压,实现高速双倍数据速率传输,并通过差分WCK时钟完成数据采样。读写采用突发访问机制,需先激活命令再执行读写操作。新型LPDDR5X仅支持BG和16B模式,优化了高速性能。

一只豌豆象的博客 2202

java.lang.UnsupportedOperationException 异常的解决方法及相关原因

java.lang.UnsupportedOperationException解决方法

小时候超帅的博客 3万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

异常java.lang.UnsupportedOperationException] with root cause

碰到一个java.lang.UnsupportedOperationException] with root cause异常 sql配置如下: <select id="selectColumn" resultType="java.util.List"> select COLUMN_NAME from INFORMATION_SCHEMA.Columns where t...

weixin_43007498的博客 1万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

记工作中遇到的异常-java.lang.UnsupportedOperationException

从今天开始记录工作中碰到的异常。第一次。 今天前端同事在调用我写的一个批量关联表单的接口的时候,报java.lang.UnsupportedOperationException的异常 //接口代码 @PutMapping("/batchSave") public ResultModel batchSave(int visitProcessId, @RequestBody String[] formGuids) { ValidateUtils.validateId(vi

weixin_39060009的博客 265

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

异常 : java.lang.UnsupportedOperationException

调用Arrays.asList()生产的List的add、remove方法时报异常,

小新的博客 247

java集合java.lang.UnsupportedOperationException异常的处理方法

java集合java.lang.UnsupportedOperationException异常的处理方法 转自罗罗诺亚F的博客文章java.lang.UnsupportedOperationException解决方法 在项目中对数组通过Arrays.asList()转换成List后做集合新增或删除操作时报错java.lang.UnsupportedOperationException,后来发现操作的List是由数组转换而成的,通过看源码发现问题,并写测试程序如下。 代码块: public class Lis

码农云云的博客 451

java 异常java.lang.UnsupportedOperationException

常常使用Arrays.asLisvt()后调用add,remove这些method时出现java.lang.UnsupportedOperationException异常。这是由于: Arrays.asLisvt() 返回java.util.Arrays$ArrayList, 而不是ArrayList。Arrays$ArrayList和ArrayList都是继承AbstractList,re

realize_的专栏 726
上一篇: bootstrap-treeview点击折叠后,再点击展开发现选中node没有反应
下一篇: HTTP状态码
操先森编码
博客等级 码龄10年 11粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值