How do you make a deep copy of an object?

前端 未结 19 1852
执念已碎
执念已碎 2020-11-21 23:09

It\'s a bit difficult to implement a deep object copy function. What steps you take to ensure the original object and the cloned one share no reference?

19条回答
  •  礼貌的吻别
    2020-11-22 00:07

    A safe way is to serialize the object, then deserialize. This ensures everything is a brand new reference.

    Here's an article about how to do this efficiently.

    Caveats: It's possible for classes to override serialization such that new instances are not created, e.g. for singletons. Also this of course doesn't work if your classes aren't Serializable.

提交回复
热议问题