@Test
public void test19(){
List<String> category = Arrays.asList("a", "b", "c");
category.remove("a");
System.out.println(category);
}
此处remove抛异常,原因是通过Arrays.asList()创建的ArrayList继承自AbstractList,是Arrays的内部类, AbstractList的remove直接抛出异常,而ArrayList也没有重写AbstractList的remove();
解决方法:
将List对象再包一层,转化为ArrayList(非内部类),利用ArrayList的内部方法remove()
代码:
List<String> category = new ArrayList<>(Arrays.asList("a", "b", "c"));
category.remove("a");