java - 创建对象的独立副本

标签 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();
        }
//...
}

最佳答案

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

Copy constructors and defensive copying

关于java - 创建对象的独立副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17702381/

相关文章:

java - IllegalArgumentException - Tomcat 启动

java - 如何在junit测试中跳过抽象类对super方法的调用?

php - 可以克隆 PHP 生成器吗?

java - 设置防止重复的URL

r - 如何在R中进行scp?

Oracle 从主表填充备份表

c++ - 为什么删除复制构造函数会影响用户定义的默认构造函数?

java - 了解非最终类的克隆方法

java - 使用 Jackson : String or JsonNode 进行深度复制

java - 将 RestTemplate 交换转换为 okHttpClient 调用