起因:项目上做一个导入功能,我需要将查询到的数据按批次存入redis传递给其他程序进行插入。使用了List.subList()方法对数据执行切割,在从redis读取的时候出现了序列化的问题。完整的错误提示如下:

subList引起的序列化问题:Can not construct instance of java.util.ArrayList$SubList: no default no-argume

 

解决方法:

代码是:List x = list.subList(a,b));

此后x将无法序列化,因为从subList()返回的子列表对象未实现它。

改为 List x = new ArrayList(myArrayList.subList(a,b)));

相关文章: