我正在尝试通过ArrayList<MyObject>()
连接发送Socket
。 MyObject implements Serializable
,我正在使用ObjectOutputStream
&amp;在ObjectInputStream
的各个末尾Socket
,两端都有相应的方法。在一端,我发送:
output.writeObject(myList);
另一方面,
ArrayList<MyObject> myList = (ArrayList<MyObject>) input.readObject();
现在我的问题是这是否有效。我知道MyObject
是可序列化的,并且一次发送其中一个是没有问题的。但是,如果我在某种Java集合中发送多个这些对象,是否会保留此属性?
答案 0 :(得分:3)
是。对象图完全保留,ArrayList
为Serializable.
答案 1 :(得分:1)
序列化数组列表不是问题。因为它实现了Serializeable。但是你需要确保MyObject不包含对另一个没有实现可序列化的类的引用。
当您反序列化时,对象图将被维护,您将获得所有内容,减去瞬态变量。