List移除另外一个list的时候报错,java.lang.UnsupportedOperationException

问题

编写代码的时候,使用Mybatis-plus分页查询返回的list,移除自己new的ArrayList报错

根据异常信息,发现mybatis-plus分页查询返回的list底层并没有实现removeAll方法。。。可以跟下代码

代码追踪

step1:

step2:

step3:

step4:

可以看到mybatis-plus分页查询返回的list底层是用的UnmodifiableRandomAccessList,没有实现removeAll等方法~,所以要想个办法
将UnmodifiableRandomAccessList转换成ArrayList,因为ArrayList实现了大部分的操作。

解决

继续查看mybatis-plus分页查询API,发现有个get方法可以转换为数据流

其中Collectors.toList()方法底层是ArrayList实现的,问题解决~

原文地址:https://www.cnblogs.com/alinainai/p/13231022.html