devxlogo

Get the Deep Copy of Any Object

Get the Deep Copy of Any Object

This generic class will help to obtain a deep copy of any object and cast it to the Object Type:

 public class ObjectCloner{   private ObjectCloner(){}   // returns a deep copy of an object   public static Object deepCopy(Object oldObj) throws Exception   {      ObjectOutputStream oos = null;      ObjectInputStream ois = null;      try      {         ByteArrayOutputStream bos =               new ByteArrayOutputStream(); // A         oos = new ObjectOutputStream(bos); // B         // serialize and pass the object         oos.writeObject(oldObj); // C         oos.flush(); // D         ByteArrayInputStream bin =               new ByteArrayInputStream(bos.toByteArray()); // E         ois = new ObjectInputStream(bin); // F         // return the new object         return ois.readObject(); // G      }      catch(Exception e)      {         System.out.println("Exception in ObjectCloner = " + e);         throw(e);      }      finally      {         oos.close();         ois.close();      }   }}
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist