解決 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

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449262.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449262.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449262.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2020-3-19

題目一&#xff1a; js split() 分割字符串生成數組 let str"I am a student"; let arrstr.split(" "); for(let i0;i<arr.length;i){console.log(arr[i]); }分析&#xff1a;這里利用字符串的空格來分割字符串生成數組。split()方法的參數設置為"…

上班族怎么創業?白領一族創業當老板!

班族怎么創業?很多上班族無法面對每天平淡的生活&#xff0c;于是想要擁有一份屬于自己的事業。上班族創業有哪些好的項目呢?結合自已的興趣愛好&#xff0c;找到適合的項目&#xff0c;上班的同時也能當老板。 上班族怎么創業?創業項目1、開投資額小的特色店 嘗試開店創業的…

一文告訴你 Event Loop 是什么?

Event Loop 也叫做“事件循環”&#xff0c;它其實與 JavaScript 的運行機制有關。 JS初始設計 JavaScript 在設計之初便是單線程&#xff0c;程序運行時&#xff0c;只有一個線程存在&#xff0c;在特定的時候只能有特定的代碼被執行。這和 JavaScript 的用途有關&#xff0c;…

Spring Boot -Shiro配置多Realm

2019獨角獸企業重金招聘Python工程師標準>>> 核心類簡介 xxxToken&#xff1a;用戶憑證 xxxFilter&#xff1a;生產token&#xff0c;設置登錄成功&#xff0c;登錄失敗處理方法&#xff0c;判斷是否登錄連接等 xxxRealm&#xff1a;依據配置的支持Token來認證用戶信…

idea工具debug斷點紅色變成灰色

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 沒事別瞎點&#xff0c;禁用了斷點當然不走了 轉自&#xff1a;https://blog.csdn.net/anlve512/article/details/54583469

2020-3-20前端題目

題目一&#xff1a; 判斷checked復選框是否有被選中 <!DOCTYPE html> <html> <head> <meta charset" utf-8"> <script> window.onload () > {let odivdocument.getElementById("ant");let ckdocument.getElementById(&…

上班族如何當老板 五大模式任你選

中國教育在線訊 辭職創業&#xff0c;還是維持現在穩定的工作?這個是很多上班族都糾結過的問題&#xff0c;一邊是穩定的工作和收入&#xff0c;一邊是創業當老板的誘惑&#xff0c;真是很難選擇。 其實&#xff0c;如果安排合理是可以“魚與熊掌”兼得的&#xff0c;沈陽市古…

利用 Linux tap/tun 虛擬設備寫一個 ICMP echo 程序

利用 Linux tap/tun 虛擬設備寫一個 ICMP echo 程序 前面兩篇文章已經介紹過 tap/tun 的原理和配置工具。這篇文章通過一個編程示例來深入了解 tap/tun 的程序結構。 01 準備工作 首先通過 modinfo tun 查看系統內核是否支持 tap/tun 設備驅動。 Copy[rootby ~]# modinfo tun f…

2020-3-21

題目一&#xff1a; JavaScript 獲取月份最后一天日期 月份最后一天日期可能是不同的&#xff0c;比如有的是30、有的是31還有的是28。 <!DOCTYPE html><html> <head> <meta charset" utf-8"> <script type"text/javascript"&…

正方形矩陣求對角線之和

nint(input()) a[] for i in range(n): #循環體里面加入input&#xff08;&#xff09;可以實現一共執行n次input&#xff08;&#xff09; lst[int(x) for x in input().split()]a.append(lst) #用列表解析&#xff0c;兩層列表代表行列&#xff0c;很巧妙的方法 w0 bl…

解決: Unable to connect to zookeeper server within timeout: 5000

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一個項目啟動不起來了&#xff0c;報錯如題&#xff1a; Caused by: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to c…

閑錢請看如何處理

買一點基金定投。基金是專家幫你理財。基金的起始資金最低單筆是1000元,定投200元起投 買基金到銀行或者基金公司都行。銀行能代理很多基金公司的業務&#xff0c;具體開戶找銀行理財專柜辦理。現在有些證券公司也有代理基金買賣的。在銀行開通網上銀行后網上購買一般收費上有優…

JAVA 數組元素的反轉

package Code411;/*數組元素的反轉本來[1,2,3,4]反轉后[4,3,2,1]1.對稱位置的元素交換2.對稱位子需要兩個索引3.int temp a&#xff1b;ab;btemp;4.什么時候停止交換&#xff08;1&#xff09;minmax (2)min>max */public class CodeArrayReverse { public static void m…

requests模塊相關用法

requests模塊 -1. 什么是requests模塊- python原生的一個基于網絡請求的模塊&#xff0c;模擬瀏覽器發起請求。 -2. 為什么使用requests模塊-1. 自動處理url編碼-2. 自動處理post請求參數-3. 簡化cookie和代理的操作-3. requests模塊如何被使用安裝&#xff1a; pip install re…

2020-3-22

題目一&#xff1a; JavaScript 天小時分鐘和秒倒計時 代碼與解析&#xff1a; <!DOCTYPE html> <html> <head> <meta charset" utf-8"> <style type"text/css"> *{margin:0;padding:0;list-style:none; } body{font-size:…

TeamViewer13 -- 安裝、使用說明

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Teamviewer13是一款強大的遠程桌面控制工具&#xff0c;同時也是一款非常實用的共享文件傳輸工具&#xff0c;它擁有簡潔的界面以及方便快…

論程序員的自我修煉

摘要&#xff1a;軟件開發是個挑戰&#xff0c;尤其是對于那些完美主義的程序員。為了想要成為更好的程序員&#xff0c;總會開發出一些特別的功能&#xff0c;在軟件設計上想要做到零瑕疵&#xff0c;但事實上&#xff0c;完美的軟件設計是根本不存在的&#xff0c;試著讓你的…

利用 Charles Proxy 下載舊版本 iOS App

一、軟件準備 1、舊版本 iTunes1.IPSW Downloads&#xff1a;https://ipsw.me/2.百度網盤鏈接&#xff1a;https://pan.baidu.com/s/1PO9Z12o-rqZ_JG68zRqEnA 提取碼&#xff1a;fe1v 2、抓包工具 Charles Proxy1.Charles官網鏈接&#xff1a;https://www.charlesproxy.com/2.百…

禪道8.2-9.2.1注入GetShell

漏洞分析附上某老哥的漏洞分析&#xff0c;來了解下原理。 漏洞利用查看版本&#xff1a;訪問Url&#xff1a;http://127.0.0.1/zentao/index.php?modegetconfig即可獲取禪道的版本號以及一些其他的信息&#xff0c;目前漏洞存在于v8.2~v9.2確定版本號之后&#xff0c;我們就…

2020-3-23

題目一&#xff1a; JavaScript 復選框全選和全不選 <!DOCTYPE html> <html> <head> <meta charset" utf-8"> <style type"text/css"> body{font-size:12px;} ul{list-style:none} </style> <script type"te…