Как сериализовать список в java?
Я бы хотел, чтобы он клонировал список. для этого мы имеем метод
// apache commons method. This object should be serializable
SerializationUtils.clone ( object )
Итак, теперь, чтобы клонировать мой список, я должен сначала преобразовать его в сериализуемое. Можно ли преобразовать список в список Serializable?
Ответы
Ответ 1
Все стандартные реализации java.util.List
уже реализуют java.io.Serializable
.
Так что даже если java.util.List
сам по себе не является подтипом java.io.Serializable
, он должен быть безопасным, чтобы листинг списка был Serializable
, если вы знаете его как одну из стандартных реализаций, таких как ArrayList
или LinkedList
.
Если вы не уверены, сначала скопируйте список (используя что-то вроде new ArrayList(myList)
), тогда вы знаете его сериализуемым.
Ответ 2
Как уже указывалось, большинство стандартных реализаций List
являются сериализуемыми. Однако вы должны убедиться, что объекты, на которые ссылаются/содержатся в списке, также могут быть сериализованы.
Ответ 3
Список - это просто интерфейс. Вопрос в том, является ли ваш реалистичный реализатор реализацией сериализуемым? Говоря о стандартных реализациях List (ArrayList, LinkedList) из времени выполнения Java, большинство из них на самом деле уже есть.