This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
The Cloneable interface is arguably the most broken (I can think of only one other candidate) part of the core J2SE API. It always has been. Since the introduction of JSR14, it is even more (but only slightly in comparison) broken. You can either: a) put up with it and therefore, put up with its extreme shortcomings. b) do it properly (it doesn't offer you much anyway).
Cloning an object itself (regardless of the broken API) requires an obscure case justification because it is almost certainly unnecessary. If you insist on cloning an object (for a justified reasoning or not), you can simply do something like (disclaimer: off the top of my head with no real thought):
(Edit: disabled smilies) [ May 22, 2005: Message edited by: Tony Morris ]