java - 如何在 Java 中使用可序列化复制所有内容

标签 java constructor parameter-passing copy-constructor

我有很多类和它们之间的循环引用(例如,在类 A 中,我有一组来自类 B 和类 B 有一个属性作为类 A 的对象等)

当我尝试将所有内容从一个对象复制到另一个对象并修改基础对象时,由于列表的原因,我丢失了信息。

有没有办法将一个对象的每一个位复制到另一个对象?

编辑:

考虑以下类

class Book
{
    private Set<Page> pages;
    String title;
}

class Page
{
    private Set<String> lines;
    private int number;
    private int numberOfLines;
    private Book book;
}

我应该对两者使用 Cloneable 还是仅对 Book 使用就足够了?

您能帮我为 Book 类编写一个复制构造函数(或复制方法)吗?

最佳答案

如果您的对象图仅包含Serialized类,则进行深度克隆的常见方法是序列化初始对象并反序列化结果。

您可以使用 ObjectOutputStreamObjectInputStream 类来完成此操作。

关于java - 如何在 Java 中使用可序列化复制所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23162087/

相关文章:

java - 这个谷歌地图缩放级别计算是如何工作的?

java - Amazon SQS 消息属性

java - 如何在 Kryonet 中注册 Enum 类?

当我调用新的构造函数时,java运行得太快

c++ - 没有要用构造函数调用的匹配函数(T* 数据)

ios - 调用方法但不更新 UI

java - 删除所有 html 标记

c# - 验证构造函数参数

c# - 在两个窗体之间传递值

ios - 如何在快速解析时在参数中添加post api请求