出现的问题
Arrays.aslist()数组转集合的时候生成的list是不能够进行add和remove操作的(它基于一个固定大小的数组,而这个数组仅支持那些不会改变数组大小的操作。
任何会引起对底层数据结构的尺寸进行修改的方法都会产生一个UnsupportedOperation Exception异常,以表示对未获支持操作的调用(一个编程错误)。),因为生成的ArrayList是Array的一个内部类。它和Java.util.arraylis虽然都是继承AbstractList,remove、add等方法AbstractList中是默认throw UnsupportedOperationException而且不作任何操作。java.util.ArrayList重新了这些方法而Arrays的内部类ArrayList没有重写。
解决办法
所以如果要对数组转集合的的集合进行增删操作,可以把Arrays.asList()的结果作为构造器的参数传递给任何Collection(或者使用addAll()方法,或者 Collections.addAll()静态方法)
或者转化的时候不用Array.asList可以使用stream流进行操作。具体如下:
List conferenceMajorList = Arrays.stream(doctorMajorTypeIds.split(“,”)).collect(Collectors.toList());