Shallow copy of a Map in Java

It’s always better to copy using a copy constructor. clone() in Java is broken (see SO: How to properly override clone method?).

Josh Bloch on Design – Copy Constructor versus Cloning

If you’ve read the item about cloning in my book, especially if you read between the lines, you will know that I think clone is deeply broken. […] It’s a shame that Cloneable is broken, but it happens.

Bloch (who by the way, designed and implemented the Collection framework) even went further in saying that he only provides the clone() method just “because people expect it”. He does NOT actually recommend using it at all.


I think the more interesting debate is whether a copy constructor is better than a copy factory, but that’s a different discussion altogether.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)