如何在Java中解决NoSerializableException
我正在尝试序列化对象如何在Java中解决NoSerializableException,java,serialization,Java,Serialization,我正在尝试序列化对象AnnotationList,它是AnnotationData的ArrayList(也由我自己定义,可序列化) 总有错误: java.io.NotSerializableException: javax.swing.plaf.basic.BasicListUI$Handler at java.io.ObjectOutputStream.writeObject0(Unknown Source) at java.io.ObjectOutputStream.writ
AnnotationList
,它是AnnotationData
的ArrayList
(也由我自己定义,可序列化)
总有错误:
java.io.NotSerializableException: javax.swing.plaf.basic.BasicListUI$Handler
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at java.util.ArrayList.writeObject(Unknown Source)
有人对如何解决这个问题有想法吗?谢谢
public class AnnotationList extends ArrayList implements ListModel, Serializable {
protected Object source;
ArrayList listeners = new ArrayList();
}
出现此错误是因为您试图序列化的对象图中的某些内容是。。。。不可序列化。。。因此,要么确保图形中的所有对象都是可序列化的(包括您自己类中的所有字段),要么将不可序列化的字段标记为
transient
。如果AnnotationData
中的字段不可序列化,那么仅仅将其序列化是不够的