在java中序列化接口

时间:2015-08-14 06:28:25

标签: java serialization

我有一个C类,它包含另一种类型的Map属性(A类)。 我已经为C类和A

实现了Serializable接口
public class C {

    Map<A, Map<Interface_I, Double>> x;
private void writeObject(java.io.ObjectOutputStream stream) {...}
private void readObject(java.io.ObjectInputStream stream) {...}
}

对于接口我如何使其可序列化?

2 个答案:

答案 0 :(得分:1)

您是否真的需要使用writeObject和readObject进行自定义序列化,如the api

中所述

要使接口可序列化的实现,只需让它实现Serializable:

public Interface_I extends Serializable {...}

这是你的意思吗?

(编辑:也参考serialization descriptions

答案 1 :(得分:0)

如果存储在地图中的对象的具体类实现Serializable,则可以序列化对象。

您可以通过使Interface_I扩展Serializable来强制所有这些具体类可序列化,但这通常是一个坏主意。

此外,我同意Typischserg:您可能不希望使用writeObject()和readObject()实现自定义序列化。