创建对象的独立副本

时间:2013-07-17 14:22:26

标签: java copy clone

如何创建对象route的独立副本?问题是,应用于route_copy的所有更新也会应用于route。怎么避免这个?

public class Route implements Cloneable, Comparable<Route> {
//...
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
//...
}

public void processData(Route route)
{
        route_copy = null;
        try {
            route_copy = (Route) route.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
//...
}

1 个答案:

答案 0 :(得分:2)

您可以在类或复制构造函数中提供深层复制方法。查看相关帖子以了解如何执行此操作:

Copy constructors and defensive copying

相关问题