Arrays.asList()使用異常:java.lang.UnsupportedOperationException
背景
在使用Arrays.asList()方法獲取一個list後,往list中add元素報UnsupportedOperationException異常
原因
Arrays.asList()可以輸出一個List,但是這種情況其底層表示的是陣列,因此不能調整大小
原始碼
@SafeVarargs
@SuppressWarnings("varargs")
public static <T> List<T> asList(T... a) {
return new ArrayList<>(a);
}
/**
* @serial include
*/
private static class ArrayList<E> extends AbstractList<E>
implements RandomAccess, java.io.Serializable
{
private static final long serialVersionUID = -2764017481108945198L;
private final E[] a;
ArrayList(E[] array) {
a = Objects.requireNonNull(array);
}
...
}
注意:這裡的ArrayList其實是Arrays的一個靜態內部類,只不過繼承了AbstractList
相關文章
- Arrays.asList():使用指南
- MVC使用異常過濾器處理異常MVC過濾器
- oracle 使用異常exceptionOracleException
- python自定義異常,使用raise引發異常PythonAI
- Java異常使用原則Java
- 異常篇——異常處理
- 異常和異常呼叫鏈
- PHP使用trycatch,捕獲異常PHP
- 使用者自定義異常
- 記Linux使用異常2Linux
- java.lang.UnsupportedOperationException: nullJavaExceptionNull
- Java 異常(二) 自定義異常Java
- Java checked異常和unchecked異常。Java
- 異常-編譯期異常和執行期異常的區別編譯
- JS 使用try catch捕獲異常JS
- 使用laravel/passport 4.0異常報錯LaravelPassport
- Java 異常處理:使用和思考Java
- 異常資料表Exceptions的使用Exception
- 使用JDBCTemp.operate發生異常JDBC
- Oracle自定義異常的使用薦Oracle
- Java異常十一:使用throw丟擲異常物件;throw和throws的區別Java物件
- 異常-throws的方式處理異常
- 異常處理與異常函式函式
- jmu-Java-06異常-01-常見異常Java
- Java異常處理的兩種方式以及自定義異常的使用方法Java
- hibernate異常之--count查詢異常
- Java 異常表與異常處理原理Java
- restframework 異常處理及自定義異常RESTFramework
- 淺談 PHP 中異常類的使用PHP
- 如何使用SpringMvc處理Rest異常SpringMVCREST
- 學習使用mybatis框架初遇異常MyBatis框架
- junit 使用JUnit測試預期異常
- 使用觀察者模式處理異常資訊模式
- spring中異常的使用--事務Spring
- oracle 異常Oracle
- OutOfMemoryError異常Error
- Java異常Java
- 異常(Exception)Exception