解决 List 执行 remove 时报异常 java.lang.UnsupportedOperationException
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。
一、情况描述
报错如题:
java.lang.UnsupportedOperationException: nullat java.util.Collections$UnmodifiableCollection.removeAll(Collections.java:1068)
报错行定位到下图红框中这行:
代码如下(只是单纯的想 2 个集合求差集):
List<WorkWeight> removeList = Lists.newArrayList();workWeightsList.forEach((workWeight -> {if (!employeeId.equals(workWeight.getApproverId()) && workWeight.getEmployeeId().equals(employeeId)) { // 当前人提交的不由自己审批的数据removeList.add(workWeight);}}));if (!CollectionUtils.isEmpty(removeList)) { workWeightsList.removeAll(removeList); // 这行报错}
二、解决办法
用 ArrayList 把集合 workWeightsList 再组装,如下图:
代码:
List<WorkWeight> removeList = Lists.newArrayList();workWeightsList.forEach((workWeight -> {if (!employeeId.equals(workWeight.getApproverId()) && workWeight.getEmployeeId().equals(employeeId)) { // 当前人提交的不由自己审批的数据removeList.add(workWeight);}}));if (!CollectionUtils.isEmpty(removeList)) {workWeightsList = new ArrayList<WorkWeight>(workWeightsList); // 改写这一行workWeightsList.removeAll(removeList);}return new Payload(new PageImpl(workWeightsList, pageable, result.getTotalElements()));
三、这样改写的原因参见:
UnsupportedOperationException报错原因解说
参考:https://www.jianshu.com/p/7f718d900111
解决 List 执行 remove 时报异常 java.lang.UnsupportedOperationException相关推荐
- 【待解决】使用JUnit时报错java.lang
编写selenium自动化代码,代码逻辑应该都没有错,运行时老是报如下错误 java.lang.NoClassDefFoundError: org/json/JSONException 解决办法:导入 ...
- 完美解决 ListView偶尔爆出的异常:java.lang.IllegalStateException
在我们Android 开发中,ListView是在常用不过的控件了.但是有时候会爆出这种异常,就搞得好尴尬了. 明明我们在代码中的确是有调用adaptor.notifyDataSetChanged() ...
- 使用Arrays.asList时出现异常 java.lang.UnsupportedOperationException
用Iterator手动替代.asList遍历解决:http://javapub.iteye.com/blog/1551604 原因:http://blog.csdn.net/thunderous/ar ...
- java.lang.UnsupportedOperationException解决方法【转】
转自https://blog.csdn.net/Tracycater/article/details/77592472?locationNum=2&fps=1 做开发一定要注重细节. 在项目中 ...
- java.线程池 线程数_如何在线程“ main”中修复异常java.lang.NoClassDefFoundError:Java中的org / slf4j / LoggerFactory...
java.线程池 线程数 此错误表示您的代码或您在应用程序中使用的任何外部库都在使用SLF4J库 (一个开放源代码日志记录库),但无法找到所需的JAR文件,例如slf4j-api-1.7.2.jar因 ...
- 如何在线程“ main”中修复异常java.lang.NoClassDefFoundError:Java中的org / slf4j / LoggerFactory...
此错误表示您的代码或您在应用程序中使用的任何外部库都在使用SLF4J库 (一个开放源代码日志记录库),但无法找到所需的JAR文件,例如slf4j-api-1.7.2.jar因此它是在线程" ...
- java.lang.UnsupportedOperationException 异常分析
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 今天将一个数组转换成 List 然后进行 remove 操作时却抛出 java.lang.Unsup ...
- 解决IntelliJ IDEA报错:调用方法[manageApp]时发生异常java.lang.IllegalStateException: 启动子级时出错
解决IntelliJ IDEA报错:调用方法[manageApp]时发生异常java.lang.IllegalStateException: 启动子级时出错 问题描述: 笔者将一个在 Tomcat ...
- 针对异常java.lang.IllegalStateException onMeasure() did not set the measured dimension解决方法
针对异常java.lang.IllegalStateException onMeasure() did not set the measured dimension by calling setMea ...
最新文章
- 有源汇上下界最小费用可行流 ---- P4553 80人环游世界(拆点 + 有源汇上下界最小费用可行流)
- smarty实例教程
- web 埋点实现原理了解一下
- 【拔刀吧少年】之shell函数
- java socket实现简单即时通讯
- 一般项目中哪里体现了数据结构_优秀程序员都应该学习的数据结构与算法项目(GitHub 开源清单)...
- el-table 树形表格 自定义展开图标_IconJar for Mac(图标素材设计软件)
- 查看Linux服务器raid信息笔记整理!
- Javascript this 的一些学习总结
- 经验贴-基于Vc++开发IIS7以及IIS6的万能筛选器
- 微信公众号用户标签php,C#微信开发之微信公众号标签管理功能
- SQL2019 用户sa‘登录失败(错误18456)
- 对数学期望、方差、协方差、协方差矩阵的理解
- 那些怪异的量化交易策略
- js通用判断指定日期是周几,是否是周六、周日
- uniapp本地数据库_Uniapp教程|App/uni-app离线本地存储方案
- 清华大学深度强化学习框架“天授”开源
- 学习笔记--RTOS信号量
- jRating之学习小研究
- java中的多态的概念_java中多态的概念
热门文章
- Java Object类的各个方法
- java 延迟实例化_延迟初始化Spring Bean的几种方式
- 选址问题java_学习使用分治算法来解决邮局选址问题(Java实现)
- Windows高级编程学习笔记(一)
- Wayland 显示服务器,wayland 1.8.0 发布,显示服务器
- CCIE理论-第九篇-IPV6详细介绍
- 【POJ - 1459】Power Network(网络流最大流,建图)
- 【2018ACM山东省赛 - E】Sequence(树状数组,思维,优化)
- 【CodeForces - 144C】Anagram Search(尺取,滑窗问题,处理字符串计数)
- 从零开始学视觉Transformer (10):目标检测DETR-1