使用ArrayList中的第三方接口实现进行序列化

时间:2015-11-17 10:09:13

标签: java serialization arraylist

我有一个ArrayList,它包含第三方接口的实现。这些实现没有实现java.io.Serializable,也不可能让它们这样做。我确实看到你可以使arrayList瞬态,但不幸的是这没有效果。当读取arrayList时我得到:

Caused by: java.io.NotSerializableException: progress.message.jimpl.xmessage.MultipartMessage
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
    at java.util.ArrayList.writeObject(ArrayList.java:762)

其中

progress.message.jimpl.xmessage.MultipartMessage extends progress.message.jimpl.Message implements progress.message.jclient.MultipartMessage

progress.message.jclient.MultipartMessage extends progress.message.jclient.Message 

这是ArrayList包含的内容。

有没有办法防止发生NotSerializableException?

2 个答案:

答案 0 :(得分:0)

创建一个MultipartMessage的子类,并在其中实现Serializable,并在ArrayList中使用它。

public classs SerializableMultipartMessage extends MultipartMessage implements Serializable {

}

答案 1 :(得分:0)