首页 > 其他分享 >Arrays.asList() 报UnsupportedOperationException异常

Arrays.asList() 报UnsupportedOperationException异常

时间:2022-08-30 18:57:00浏览次数:72  
标签:UnsupportedOperationException String Arrays ArrayList add asList

Arrays中的asList方法将数组转为List<>之后,用remove和add方法会报UnsupportedOperationException异常

1、asList是通过新建一个ArrayList来接收String[]的数值。

 

 

2、再看ArrayList是不是我们熟悉的那个ArrayList,也就是可以通过add,remove方法进行操作,如下图,很明显,这并不是ArrayList类,而是Arrays里面新建了一个内部类ArrayList,而这个内部类是继承于AbstractList类,AbstractList类里面的add方法是会抛出UnsupportedOperationException异常的。

 

 

 

 

那么有人要问,咦,那为什么ArrayList可以呢,答案就是ArrayList给我们做好了事情,也就是重写了add方法。
综上所论,如果在将String[]转化为List< String >的时候,是不能对转化出来的结果进行add,remove操作的,因为他们并不是我们熟悉的ArrayList,而是Arrays里面的内部类ArrayList。

 

 

 

标签:UnsupportedOperationException,String,Arrays,ArrayList,add,asList
From: https://www.cnblogs.com/gujiajie/p/16640480.html

相关文章

  • java.lang.ArrayStoreException
    List<Object>ol=newArrayList<Object>();ol.add("aaa");/***java.lang.ArrayStoreException*java数组中包括不兼容的值抛出......
  • mybatis报错UnsupportedOperationException
    1:问题描述mapper文件定义   xml写法   运行则报错Causedby:org.apache.ibatis.exceptions.PersistenceException:###Errorqueryingdatabase.Cau......
  • 【Java基础】操作数组的工具类Arrays
    1.常用方法方法描述booleanequals(int[]a,int[]b)判断两个数组是否相等,顺序不一样也返回falseStringtoString(int[]a)输出数组信息voidfill(int[]......
  • Randomizing Arrays and Queues
    您可以随机化动态数组、关联数组和队列。可以将它们声明为“rand”或“randc”,这将导致数组的所有元素被随机化。数组中的所有元素都是随机的,每次随机(调用randomize())会......
  • Java学习 (20) Java数组篇(04)Arrays类&冒泡排序&稀疏数组
    目录Arrays类语法实例冒泡排序语法实例具体讲解视频(狂神说Java)稀疏数组语法实例具体讲解视频(狂神说Java)Arrays类教组的工具类java.util.Arrays由于数组对象本身并没有......