先说解决方法:
报错原因:
List dcStatisticVisitHours = dcStatisticVisitHourMapper.serviceRangeCountMonitor(dc);
这种方式得到的list实际上是Arrays.asList(…)得到的,跟进到asList(…)方法的源码中:
它返回的这个ArrayList并不是java.util.ArrayList,而是java.util.Arrays的内部类。
父类中的set,add,remove方法都是直接抛出UnsupportedOperationException,再回到Arrays的内部类ArrayList,并没有去重写上述方法,因此使用List.asList(…)返回的Arrays内部类ArrayList对象进行add等操作时会抛此异常。再看java.util.ArrayList中,都是对上诉方法进行了重写,因此通过new ArrayList()得到的List进行add等操作,不会有问题。
操作List报java.lang.UnsupportedOperationException
最新推荐文章于 2023-12-02 10:23:12 发布