![](/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.