如何在Java中序列化一个列表?

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

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

所以现在克隆我的List我应该将其转换为序列化第一。 是否有可能将一个List转换为Serializable列表?

java.util.List所有标准实现都已经实现了java.io.Serializable

因此,即使java.util.List本身不是java.io.Serializable的子types,只要知道它是ArrayListLinkedList类的标准实现之一,将列表SerializableSerializable就应该是安全的。

如果你不确定,那么首先复制列表(使用像new ArrayList(myList) ),那么你知道它是可序列化的。

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

列表只是一个界面。 问题是:你的实际List实现是可序列化的吗? 从Java运行时谈到标准的List实现( ArrayListLinkedList ),其中大多数实际已经是。