9月4

Could not read JSON: Cannot construct instance of `java.util.ArrayList$SubList`Redis反序列化异常

| |
12:11编程杂谈  From: 本站原创
错误信息:
Could not read JSON: Cannot construct instance of java.util.ArrayList$SubList(no Creators, like default construct, exist): no default no-arguments constructor found

原因是读取Redis缓存时,报错异常导致!

原因是缓存中是集合ArrayList中含有SubList,因为SubList不能序列化和反序列化,导致解析失败。

解决办法:

1、若存在使用SubList方法,只需要 重新new 下:

原代码:       resultList = regionDistributionVOList.subList(ZERO, FOUR);

改正后:       resultList = new ArrayList<>(regionDistributionVOList.subList(ZERO, FOUR));
或者:            resultList.addAll(regionDistributionVOList.subList(ZERO, FOUR));

2、若通过 Lists.partition(ZERO, TEN)获取的,则需要将subList转为ArrayList

用: Lists.newArrayList(subList)

来源:Heck's Blog
地址:https://www.heckjj.com/post/655/
转载时须以链接形式注明作者和原始出处及本声明,否则将追究法律责任,谢谢配合!
阅读(549) | 评论(0) | 引用(0)