Adding default method to java.lang.Cloneable
Rémi Forax
forax at univ-mlv.fr
Fri Mar 2 07:30:41 PST 2012
On 03/02/2012 04:13 PM, Florian Weimer wrote:
> * Rémi Forax:
>
>> I've tried to add a default method to java.lang.Cloneable
>> in order to be able to call it on an array
>> (all arrays inherits from Object and implements Cloneable and Serializable).
>>
>> But the VM doesn't like that :)
>> I think it's a bug.
> The clone method is very special. It's not visible using reflection...
clone() is not the only method hidden when you use the reflection API,
I know, but in my opinion it's a slighly different problem.
You can call clone() on an array in Java.
You're right that there is a special code in the compiler for clone
which calls Object.clone() instead of int[].clone()
But it that case, this should work:
int[] array = new int[] {2, 4 };
Cloneable c = array;
System.out.println(c.foo());
But it doesn't work.
Rémi
More information about the lambda-dev
mailing list