美文网首页
jdk序列化失败

jdk序列化失败

作者: 多关心老人 | 来源:发表于2019-08-06 01:20 被阅读0次

    对象通过jdk序列化方式保存,报错:Not Serializable XXX$1,$1是个匿名内部类,要序列化的对象里没有属性是这个匿名类型的,而且$1是不应该序列化的,可是为什么会序列化到它呢?

    原来同事写代码用到了guava的Lists.transform(),这里面接收一个Function对象,返回TransformingRandomAccessList对象,返回的这个TransformingRandomAccessList是List的一个实现,而这个list返回结果正好被赋给了要序列化的对象的一个属性上。如果TransformingRandomAccessList是类似于ArrayList这种可序列化的容器也没什么问题,这个List里面有2个属性:fromList和function,其中function就是前面的XXX$1,这个匿名内部类没有实现Serializable,因此序列化失败。

    我们发现jdk自带的很多容器类都实现了Serializable接口,就是为了能够序列化。

    相关文章

      网友评论

          本文标题:jdk序列化失败

          本文链接:https://www.haomeiwen.com/subject/ubjbdctx.html