Let’s say that i have a method that does like clone(), but implements the cloning itself. That method does not return an Object instance, but an instance of the class itself. I think it it to remove the need to cast, for two reasons: speed and typing reduced.
I don’t believe that doing so is clever, as duplicating processes for a task is a Bad Thing©, and can introduce bugs directly and during updates, but this is an other story.
My question at the moment is:
is the cast point valid? Wouldn’t hotspot remove the cast when returning from clone() in a case as the one below?
MyClass mc = (MyClass)myOtherClass.clone();
By the way… anyone ever benchmarked clone() opposed to hand done cloning?