記錄一次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
- jQuery 遇到問題記錄jQuery
- 【WPF】大量Canvas轉換為本地圖片遇到的問題Canvas地圖
- atc轉換過程問題記錄
- 學習httprunner遇到的問題記錄HTTP
- 記錄使用Performance API遇到的問題ORMAPI
- FPGA的DAC轉換部分遇到的問題FPGA
- Oracle Database將普通錶轉換為分割槽表遇到的問題OracleDatabase
- 記錄一次問題排查
- 用筆記來記錄遇到的問題:釋出版本和非釋出版本遇到的問題筆記
- python記錄下工作後遇到的問題,時間的轉化Python
- java json字串轉換為物件,轉換為listJavaJSON字串物件
- 記錄使用websocket時因為Sec-Websocket-Protocol遇到的一個問題WebProtocol
- 記錄一個新專案遇到的 MySQL 問題MySql
- Flutter開發過程中遇到的問題記錄Flutter
- maven專案遇到的一些問題記錄Maven
- 小白記錄Java後端學習遇到的問題Java後端
- 記錄剛做完的環信+ucloud直播遇到的問題Cloud
- 記錄一次電動維修遇到的坑
- Java中 set,list,array(集合與陣列)、Map相互轉換Java陣列
- 記錄一次XTTS遷移碰到的問題TTS
- c#中Array,ArrayList 與List<T>的區別、共性與轉換C#
- 升級Xcode 10遇到的問題做個記錄XCode
- Java 中陣列轉換為 ListJava陣列
- 記錄一次開發中遇到的問題:Vue 重新整理頁面後,頁面空白Vue
- 記錄 dcat-admin 使用 Laravel-activitylog 記錄使用者行為過程中遇到的問題Laravel
- Java中基本型別Array與複合型別List的互相轉換Java型別
- 記錄一次無法很好解決的問題
- 從資料庫裡取值時遇到的換行問題(轉)資料庫
- 使用ogg 從oracle 同步mysql遇到問題記錄OracleMySql
- MAC 安裝 VMAF 遇到的問題及解決方法記錄Mac
- 關於使用雲伺服器遇到的問題記錄(一)伺服器
- springboot多模組專案搭建遇到的問題記錄Spring Boot
- AS Notes|記錄日常開發遇到的 AS 問題(不斷更新。。。
- 開發:隨筆記錄之 Json字串 與 List、HashMap物件的轉換筆記JSON字串HashMap物件
- 解決巢狀list型別的JSONObject/JSONArray轉換成原來list問題。巢狀型別JSONObject
- 建立 SAP Fiori Catalog 時遇到的 duplicate 記錄的問題分析
- 踩坑:array_reverse 轉換改變了數值鍵問題