「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; }