記錄一次Array轉換為List遇到的問題
今天在寫一個Array轉換為List的Demo的時候遇到了一個問題:
String [] str = {"a","b","c"};
List<String> list2 = Arrays.asList(str);
list2.add("ddd");
System.out.println(list2);
最開始我是這樣寫的,發現list無法進行add,remove等操作
改進:
String [] str = {"a","b","c"};
List<String> list = new ArrayList<>( Arrays.asList(str));
list.add("ddd");
System.out.println(list);
原因:
Arrays.asList()方法返回的物件是Arrays的內部類,對list的操作仍然反映在原陣列上,因此這個list是定長的,不支援add、remove操作;
這個ArrayList不是java.util包下的,而是java.util.Arrays.ArrayList
它是Arrays類自己定義的一個靜態內部類,這個內部類沒有實現add()、remove()方法,而是直接使用它的父類AbstractList的相應方法。
而AbstractList中的add()和remove()是直接丟擲java.lang.UnsupportedOperationException異常的!
相關文章
- 記錄一次spark連線mysql遇到的問題SparkMySql
- 記錄本周遇到的問題
- atc轉換過程問題記錄
- jQuery 遇到問題記錄jQuery
- 【WPF】大量Canvas轉換為本地圖片遇到的問題Canvas地圖
- FPGA的DAC轉換部分遇到的問題FPGA
- 學習httprunner遇到的問題記錄HTTP
- 配置MapReduce時遇到的問題記錄
- python記錄下工作後遇到的問題,時間的轉化Python
- 記錄一次問題排查
- 用筆記來記錄遇到的問題:釋出版本和非釋出版本遇到的問題筆記
- 記錄後臺遇到的兩個小問題
- 解決巢狀list型別的JSONObject/JSONArray轉換成原來list問題。巢狀型別JSONObject
- c#中Array,ArrayList 與List<T>的區別、共性與轉換C#
- 小白記錄Java後端學習遇到的問題Java後端
- ActivatedRoute 和 Router,以及記錄後臺遇到的問題
- 記錄遇到的一個迴圈依賴問題
- Flutter開發過程中遇到的問題記錄Flutter
- 記錄一個新專案遇到的 MySQL 問題MySql
- 升級Xcode 10遇到的問題做個記錄XCode
- maven專案遇到的一些問題記錄Maven
- 記錄使用websocket時因為Sec-Websocket-Protocol遇到的一個問題WebProtocol
- 記錄剛做完的環信+ucloud直播遇到的問題Cloud
- 記一次判斷值是否存在遇到的神奇問題
- PyThon numpy中array如何轉list?Python
- 記錄 dcat-admin 使用 Laravel-activitylog 記錄使用者行為過程中遇到的問題Laravel
- Java 中陣列轉換為 ListJava陣列
- 使用ogg 從oracle 同步mysql遇到問題記錄OracleMySql
- 記錄一次XTTS遷移碰到的問題TTS
- [20230329]記錄除錯sql語句遇到的問題.txt除錯SQL
- AS Notes|記錄日常開發遇到的 AS 問題(不斷更新。。。
- springboot多模組專案搭建遇到的問題記錄Spring Boot
- 建立 SAP Fiori Catalog 時遇到的 duplicate 記錄的問題分析
- MySQL:一次timestamp時區轉換導致的問題MySql
- 記錄一次開發中遇到的問題:Vue 重新整理頁面後,頁面空白Vue
- 踩坑:array_reverse 轉換改變了數值鍵問題
- torch.tensor、numpy.array、list三者之間互相轉換
- 記錄一次無法很好解決的問題