`
your233
  • 浏览: 278005 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Arrays.asList导致的java.lang.UnsupportedOperationException

    博客分类:
  • java
 
阅读更多

对Arrays.asList转换成的list进行删除的时候抛异常

异常如下:

Exception in thread "main" java.lang.UnsupportedOperationException

  at java.util.AbstractList.remove(AbstractList.java:144)

  at java.util.AbstractList$Itr.remove(AbstractList.java:360)

  at java.util.AbstractCollection.remove(AbstractCollection.java:252

注意了,这里报错的是AbstractList类,不是ArrayList类,Arrays.asList以后会生成AbstractList。

解决方案:

1,使用最原始的方法List list = new ArrayList();然后用list.add("xxx"),就可以进行删除操作

2,仍然可以使用Arrays.asList,只是把其中的list重新加入到另外一个自定义的ArrayList中即可

List list = new ArrayList();

list.addAll(Arrays.asList(new String[]{'xxx'})); 

 

 

 

分享到:
评论

相关推荐

    list使用过程中遇到的坑

    xception in thread "main" java.lang.UnsupportedOperationException Arrays.asList转化基本数据类型数组的时候有个意想不到的坑 当我们在实际业务开发过程中,难免会遇到数组转List的操作,通常我们所选择的就是...

    java.lang.UnsupportedOperationException(解决方案).md

    例如,在Java中,Arrays.asList()返回的列表是固定大小的,不允许添加或删除元素,尝试这样做就会抛出UnsupportedOperationException。此异常可以看作是Java集合框架的一个设计特性,用于让集合框架能够以不可变的...

    详解Java 集合类 List 的那些坑

    Arrays.asList 方法返回的 List 并不是我们常用的 java.util.ArrayList,而是 Arrays 的静态内部类 java.util.Arrays.ArrayList,该类继承自抽象类 java.util.AbstractList,但没有实现 add 方法,默认抛出 java....

    带笔迹编程规范真题.pdf

    - `Arrays.asList` 方法可以将数组转换为列表,但返回的是固定大小的列表,不能直接添加、删除或清空元素,否则会抛出 `UnsupportedOperationException`(答案:C)。 以上是基于题目内容的一些编程规范和知识点的...

    阿里巴巴Java编码规范答案.docx

    Arrays.asList 体现的是适配器模式,只是转换接口,后台的数据仍是数组(D)。 9. 异常处理方式 在异常处理方式中,为防止 obj 对象本身空指针异常,书写代码时应该注意加异常捕获处理(A)。方法签名中,抛给调用...

    牛客网Java专项50题详解

    - `Arrays.asList()`方法可以将数组转换为`List`对象,但需要注意的是,返回的是`Arrays`类中的静态内部类`ArrayList`的实例,而不是`java.util.ArrayList`。 - 使用该方法创建的`List`是不可变的,试图修改这个`...

Global site tag (gtag.js) - Google Analytics