mahout-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julien Aymé <julien.a...@gmail.com>
Subject Re: DelegatingVector's clone()
Date Wed, 02 Jan 2013 21:57:08 GMT
Object.clone() only clones the references to the member fields.
It does not a "deep" clone. It is the responsibility of subclasses
which want to do so to copy the desired member fields (in general only
mutable fields are cloned, the immutable ones are left).

Hope this helps,
Regards,
Julien

2013/1/2 Dan Filimon <dangeorge.filimon@gmail.com>:
> I'm confused what DelegatingVector's clone() method is trying to do.
> I'm playing with it to create the DecoratedVector<T> type.
>
> Here it is [1].
> So, it first calls its super class, super.clone() at line 5 (which is
> in fact Object's clone() since this class doesn't extend anything).
> Then, it clones the delegate vector, delegate.clone() at line 10.
>
> Why is it doing this? Isn't calling super.clone() enough? It's only
> doing member copying, right?
> Cloning the delegate vector is something Object.clone() did anyway, isn't it?
>
> [1] https://gist.github.com/4438413

Mime
View raw message