「Java入門」リストをディープコピーするサンプル
サンプルコード
private static <T> List<T> deepCopy(List<T> src) {
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
ObjectOutputStream out;
try {
out = new ObjectOutputStream(byteOut);
out.writeObject(src);
ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());
ObjectInputStream in = new ObjectInputStream(byteIn);
@SuppressWarnings("unchecked")
List<T> dest = (List<T>) in.readObject();
return dest;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}