如果我的对象是可序列化的,我可以发送一个ArrayList<>我的对象?

时间:2014-05-06 00:36:57

标签: java sockets serialization

我正在尝试通过ArrayList<MyObject>()连接发送SocketMyObject implements Serializable,我正在使用ObjectOutputStream&amp;在ObjectInputStream的各个末尾Socket,两端都有相应的方法。在一端,我发送:

output.writeObject(myList);

另一方面,

ArrayList<MyObject> myList = (ArrayList<MyObject>) input.readObject();

现在我的问题是这是否有效。我知道MyObject是可序列化的,并且一次发送其中一个是没有问题的。但是,如果我在某种Java集合中发送多个这些对象,是否会保留此属性?

2 个答案:

答案 0 :(得分:3)

是。对象图完全保留,ArrayListSerializable.

答案 1 :(得分:1)

序列化数组列表不是问题。因为它实现了Serializeable。但是你需要确保MyObject不包含对另一个没有实现可序列化的类的引用。

当您反序列化时,对象图将被维护,您将获得所有内容,减去瞬态变量。