【发布时间】:2020-05-09 00:30:16
【问题描述】:
我需要深度克隆一个对象,该对象具有一些非序列化对象作为 Java 中的成员。 你能提供一些参考我能用什么吗?
注意: 请提供一些java标准库的参考。我不想使用任何未经批准/私有的包或库。 或者一些代码指针我如何克隆对象?
【问题讨论】:
-
可序列化和可克隆是两个不同的东西......
-
@f1sh 在内存中 Java 序列化被用作复制对象的 hack。
-
@TomHawtin-tackline 是一个非常糟糕的 hack,瞬态字段呢?
-
@f1sh 如果您不希望序列化形式中的瞬态字段,也不应该在“深度克隆”中复制它们。在实践中,我相信/希望,通常使用瞬态,因为串行表示不同于对象表示 - 例如
Lists 写出每个元素而不是数组、双向链表(对于 Java 序列化来说很糟糕,顺便说一句)或其他任何东西。
标签: java object serialization clone