如何在java中序列化列表?

我想深度克隆一个列表。为此,我们有一个方法

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

所以现在要克隆我的列表,我应该先将其转换为可序列化。是否可以将列表转换为可序列化列表?


答案 1

已实现 的所有标准实现 。java.util.Listjava.io.Serializable

因此,即使本身不是 的子类型,只要您知道它是像 或 这样的标准实现之一,将列表强制转换为 应该是安全的。java.util.Listjava.io.SerializableSerializableArrayListLinkedList

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


答案 2

如前所述,的大多数标准实现都是可序列化的。但是,您必须确保列表中引用/包含的对象也是可序列化的。List