package SerialCloneTest; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; public class SerialCloneable implements Cloneable,Serializable { /** * */ private static final long serialVersionUID = 1L; public Object clone() { try { //Salvarea obietului in masiv de byte ByteArrayOutputStream bout = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(bout); out.writeObject(this); out.close(); //Citirea Clonului obiectului din masivul de biti ByteArrayInputStream bin = new ByteArrayInputStream(bout.toByteArray()); ObjectInputStream in = new ObjectInputStream(bin); Object ret = in.readObject(); in.close(); return ret; } catch(Exception e) { return null; } } }