在使用过程Arrays.asList的过程中,遇到了一个remove的坑,在此记录一下
demo示例如下
public static void main(String[] args) {
List stringList = Arrays.asList("abc", "def", "ghi", "jkl", "mno");
System.out.println("first:");
stringList.forEach(System.out::println);
stringList.remove("def");
System.out.println("second:");
stringList.forEach(System.out::println);
}
执行后报错
错误信息指出的是,remove方法出现异常,后面查看查看发现,是Arrays.asList返回的list未实现remove方法,同样的,其它add等方法也未实现,所以需要在外面添加一层new ArrayList即可解决
ListstringList = new ArrayList<>(Arrays.asList("abc", "def", "ghi", "jkl", "mno"));
正确结果



