Eri*_*ric 7

不幸的是,没有可靠的方法在Vector对象上进行深层复制.

只需快速回顾一下我认为"深层复制"的内容:深层复制是一个副本,其中不仅复制了集合的内容(在本例中为矢量),而且复制中包含的对象也是独立复制的.换句话说:如果向量V包含A,并且复制(V')为V,则V'中A(A')的副本不受A的任何变化的影响,反之亦然.

通常,这将通过"克隆"对象来实现.不幸的是,如果你无法控制Vector中的对象,你就没有合理的方法来克隆它们,特别是因为JavaME没有Cloneable接口(据我所知).

当然,如果您确实控制了对象,您可以创建自己的Cloneable接口,该接口指定clone()方法,该方法返回对象的完全独立的副本.然后,您必须确保特殊克隆Vector仅接受实现该接口的对象.从那里,你可以很容易地(代码方面)制作一个可以克隆自己的Vector.