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
相關文章
- 兩種異常(CPU異常、使用者模擬異常)的收集
- python自定義異常,使用raise引發異常PythonAI
- MVC使用異常過濾器處理異常MVC過濾器
- Arrays.asList():使用指南
- oracle 使用異常exceptionOracleException
- 記Linux使用異常2Linux
- Java異常使用原則Java
- java.lang.UnsupportedOperationException: nullJavaExceptionNull
- Android Studio: Kotlin使用DataBinding異常AndroidKotlin
- 異常和異常呼叫鏈
- 異常篇——異常記錄
- 異常篇——異常處理
- Java 異常(二) 自定義異常Java
- 異常-異常的注意事項
- Java 異常處理:使用和思考Java
- 使用laravel/passport 4.0異常報錯LaravelPassport
- JS 使用try catch捕獲異常JS
- 如何使用SpringMvc處理Rest異常SpringMVCREST
- Vivado使用技巧(33):時序異常
- Java異常十一:使用throw丟擲異常物件;throw和throws的區別Java物件
- 異常-編譯期異常和執行期異常的區別編譯
- 異常?
- 異常
- hibernate異常之--count查詢異常
- 異常-異常的概述和分類
- 異常-throws的方式處理異常
- Java異常處理的兩種方式以及自定義異常的使用方法Java
- jmu-Java-06異常-01-常見異常Java
- 淺談 PHP 中異常類的使用PHP
- 學習使用mybatis框架初遇異常MyBatis框架
- 前端異常日誌監控 – 使用Sentry前端
- Java 異常表與異常處理原理Java
- restframework 異常處理及自定義異常RESTFramework
- OutOfMemoryError異常Error
- oracle 異常Oracle
- Java 異常Java
- 異常(Exception)Exception
- Java異常Java