![](/img/trans.png)
[英]UnsupportedOperationException when trying to add (Arraylist)
[英]UnsupportedOperationException When Adding Null to ArrayList
我試圖將空元素添加到ArrayList。 這是出於使用supercsv忽略列的目的: http ://supercsv.sourceforge.net/examples_partial_reading.html我正在處理多個csv文件,這些文件的標頭列數不同。
csvBeanReader.getHeader(true)返回String []。 行headers.add(null); 引發UnsupportedOperationException。 為什么? 我做錯了什么?
List<String> headers = Arrays.asList(csvBeanReader.getHeader(true));
//add null columns to headers
for(int i=0; i<1000; i++){
headers.add(null);
}
您沒有java.util.ArrayList
,但有一些實現List
東西。 這個特定的List
實現不支持通過更改List
的大小進行修改。 即使您add
了實際的String
,您仍然會得到UnsupportedOperationException
。 從Arrays.asList
javadocs :
返回由指定數組支持的固定大小的列表。
為了能夠添加到該List
,請將其包裝在實際的ArrayList
。
List<String> headers = new ArrayList<>(Arrays.asList(csvBeanReader.getHeader(true)));
這是因為Arrays.asList
返回一個不可變的列表。
http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#asList(T ...)
嘗試進行修改時,不可變列表將引發異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.