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