File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java in General and the fly likes clone an object Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "clone an object" Watch "clone an object" New topic

clone an object

rucha kulkarni

Joined: Aug 05, 2010
Posts: 22

How do I clone an object in java without using clone method?

Swastik Dey

Joined: Jan 08, 2009
Posts: 1578

Campbell Ritchie

Joined: Oct 13, 2005
Posts: 46323
Useful site, but it misses one thing out. It implies the return type of clone() is Object. Since Java5, it has been possible to use covariant return types, so you can have a clone() method in class Foo which returns a Foo reference.
The serialisation solution is a well‑known cheat, which does work, but only if the class implements Serializable. It also has slower performance.
Better solutions: If you want to copy your object, you can give the class a copy() method (rather like this, or a copy constructor, or a factory method which copies an object.
Better still, make your class immutable. Then you can forget all about cloning, copying, etc, because that will cease to be a problem.
I agree. Here's the link:
subject: clone an object
It's not a secret anymore!