我想深度克隆一个列表。为此我们有一个方法
// apache commons method. This object should be serializable
SerializationUtils.clone ( object )
所以现在要克隆我的列表,我应该先将其转换为可序列化的。是否可以将列表转换为可序列化列表?
我想深度克隆一个列表。为此我们有一个方法
// apache commons method. This object should be serializable
SerializationUtils.clone ( object )
所以现在要克隆我的列表,我应该先将其转换为可序列化的。是否可以将列表转换为可序列化列表?
java.util.List
已经实现的所有标准实现java.io.Serializable
。
因此,即使它java.util.List
本身不是 的子类型java.io.Serializable
,也应该安全地将列表强制转换为Serializable
,只要您知道它是像ArrayList
or之类的标准实现之一LinkedList
。
如果您不确定,请先复制列表(使用类似的new ArrayList(myList)
内容),然后您就知道它是可序列化的。
正如已经指出的,大多数标准实现List
都是可序列化的。但是,您必须确保列表中引用/包含的对象也是可序列化的。
列表只是一个接口。问题是:您的实际List实现是否可序列化?谈到 Java 运行时的标准List实现(ArrayList、LinkedList),它们中的大多数实际上已经是。