如何在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
中的字段不可序列化,那么仅仅将其序列化是不够的