我想深入克隆一个List。因为我们有一个方法
// apache commons method. This object should be serializable
SerializationUtils.clone ( object )
所以现在克隆我的List我应该首先将它转换为serializable。是否可以将List转换为可序列化列表?
答案 0 :(得分:150)
java.util.List
的所有标准实施都已实施java.io.Serializable
。
所以即使java.util.List
本身不是java.io.Serializable
的子类型,只要您知道它是标准实现之一,将列表强制转换为Serializable
应该是安全的。 ArrayList
或LinkedList
。
如果您不确定,请先复制列表(使用new ArrayList(myList)
之类的内容),然后您知道它是可序列化的。
答案 1 :(得分:30)
正如已经指出的那样,List
的大多数标准实现都是可序列化的。但是,您必须确保列表中引用/包含的对象也可序列化。
答案 2 :(得分:11)
列表只是一个界面。问题是:您的实际 List 实现是否可序列化?说到Java运行时的标准 List 实现( ArrayList , LinkedList ),其中大多数实际上已经存在。