怎么实现对ShapeManager的深复制哈。。
public class ShapeManager implements Cloneable{
     private ArrayList<Shape> shapes = new ArrayList<Shape>(); public ArrayList<Shape> getShapes() {
return shapes;
} public void setShapes(ArrayList<Shape> shapes) {
this.shapes = shapes;
}

public void setShape(Shape shape){
shapes.add(shape);
} @Override
protected ShapeManager clone() throws CloneNotSupportedException {
ShapeManager copy = (ShapeManager)super.clone(); 
return copy;
}
}

解决方案 »

  1.   

    thinking in java 中查一下也就知道了哈,不是太常用。
      

  2.   


    protected ShapeManager clone() throws CloneNotSupportedException {
            ShapeManager copy = (ShapeManager)super.clone(); 
    ArrayList<Shape> temp=new ArrayList<Shape>(shapes);
    copy.setShapes(temp);
            return copy;
        }