Arrays.asList报错java.lang.UnsupportedOperationException

  • Post author:
  • Post category:java

错误用法

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);

System.out.println("前: "+list);

list.add(0, 0);

System.out.println("后: " + list);

报错

执行以上代码,在list.add 处报错 java.lang.UnsupportedOperationException
在这里插入图片描述

原因

当前创建出的ArrayList是Arrays中的一个内部类,不是平时创建的ArrayLIst

正确用法

// 将Arrays.asList的结果传入new ArrayList的参数中,再得到List才是平时创建的List对象
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));

System.out.println("前: "+list);
list.add(0, 0);
System.out.println("后: " + list);

在这里插入图片描述


版权声明:本文为weixin_44684303原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。