objectoutputstream java - 存储对象列表包含其他对象的列表

时间:2013-10-25 05:36:32

标签: java

我知道我可以使用对象输出/输入流将对象存储和检索到文件中,但我想知道我是否可以检索包含其他对象列表的对象?

即。 A类有一个B级的arraylist

并且当存储A类数组时,每个对象都拥有不同大小的B类arraylist。

我需要以不同的方式编码吗?

FileInputStream fis = new FileInputStream(filename);
ObjectInputStream ois = new ObjectInputStream(fis);
Obj = (ClassA)ois.readObject();

3 个答案:

答案 0 :(得分:0)

如果已为所有类和子类实现了Serializable,则即使它们位于任何集合中,也可以检索所有对象。

答案 1 :(得分:0)

不确定。如果使用java.util.List,则可以编写对象。这样的事情将完美起作用。

class MyTest implements Serializable
{
    List<MySecondTest> list = new ArrayList<MySecondTest>();
    Object obj = Integer.valueOf(1000);
}

class MySecondTest implements Serializable
{
    String str = "Hello, world " + Math.random();
}

答案 2 :(得分:0)

序列化适用于完全任意的对象图,包括偶数对象图。只要集合类是Serializable,一个简单的列表就没问题,因为所有的JDK都是。