Как сериализовать список в java?


Я хотел бы глубоко клонировать список. для этого у нас есть метод

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

Итак, теперь, чтобы клонировать мой список, я должен сначала преобразовать его в сериализуемый. Можно ли преобразовать список в сериализуемый список?

3 58

3 ответа:

все стандартные реализации java.util.List реализации java.io.Serializable.

так что даже если java.util.List сам по себе не является подтипом java.io.Serializable, это должно быть безопасно, чтобы привести список к Serializable, пока вы знаете, что это одна из стандартных реализаций, таких как ArrayList или LinkedList.

если вы не уверены, то скопируйте список сначала (используя что-то вроде new ArrayList(myList)), то вы знаете, что это сериализуемый.

Как уже отмечалось, большинство стандартных реализаций List сериализуемы. Однако вы должны убедиться, что объекты, на которые ссылаются/содержатся в списке,и сериализуемыми.

List - это просто интерфейс. Вопрос в том: является ли ваш фактический List сериализуемые реализации? Кстати о стандарте List реализаций (ArrayList, LinkedList) от времени выполнения Java, большинство из них на самом деле уже есть.