목록을 딥 복제하고 싶습니다. 이를 위해 우리는 방법이 있습니다
// 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
또는 LinkedList
.
확실하지 않은 경우 먼저 목록을 복사 (예 new ArrayList(myList)
:)하면 직렬화 가능하다는 것을 알 수 있습니다.
답변
이미 지적했듯이의 대부분의 표준 구현 List
은 직렬화 가능합니다. 그러나 목록 내에서 참조 / 포함 된 개체 도 직렬화 할 수 있는지 확인해야합니다 .
답변
목록 은 단순한 인터페이스입니다. 문제는 실제 목록 구현이 직렬화 가능합니까? Java 런타임 의 표준 List 구현 ( ArrayList , LinkedList ) 에 대해 말하면 대부분은 실제로 이미 있습니다.