java serializable NotSerializableException

时间:2012-04-29 16:37:40

标签: java serializable

我有一个NotSerializableException,jvm告诉我它来自一个与序列化到ObjectOutputStream的内容完全无关的类!

到底是怎么回事?它提到的类是不可序列化的,并且操作来自OTHER类的一些数据,这些数据绝对是可序列化的,为什么这会产生NotSerializableException

编辑: 请不要投票,这是一个严肃的问题! 好的,所以我只是想知道以下是否可能是一个问题:如果我有一个匿名的arraylist,插入到一个地图中,(绝对是可序列化的),在一个不可序列化的类中,这可能是问题????

像这样:map.put(new ArrayList(){{add(ect ....}});

1 个答案:

答案 0 :(得分:4)

字段也必须是Serializable。一个问题是嵌套类具有对其外部类的引用。

 class NotSerializable {
     class Inner implements Serializable {
         // contains a reference to this$0, the outer instance
     }

 }

即。你有一个你可能不知道的领域。

简单的解决方案是创建内部类static