如何在java中序列化列表?

时间:2009-09-07 07:11:04

标签: java serialization collections apache-commons

我想深入克隆一个List。因为我们有一个方法

// apache commons method. This object should be serializable
SerializationUtils.clone ( object ) 

所以现在克隆我的List我应该首先将它转换为serializable。是否可以将List转换为可序列化列表?

3 个答案:

答案 0 :(得分:150)

java.util.List的所有标准实施都已实施java.io.Serializable

所以即使java.util.List本身不是java.io.Serializable的子类型,只要您知道它是标准实现之一,将列表强制转换为Serializable应该是安全的。 ArrayListLinkedList

如果您不确定,请先复制列表(使用new ArrayList(myList)之类的内容),然后您知道它是可序列化的。

答案 1 :(得分:30)

正如已经指出的那样,List的大多数标准实现都是可序列化的。但是,您必须确保列表中引用/包含的对象可序列化。

答案 2 :(得分:11)

列表只是一个界面。问题是:您的实际 List 实现是否可序列化?说到Java运行时的标准 List 实现( ArrayList LinkedList ),其中大多数实际上已经存在。