在java中可以使用多少种类型的克隆对象?

dev*_*per -2 java

在java中可以使用多少种类型的克隆对象?

Dea*_*mer 9

两种类型的克隆

阅读Bozho的答案 java-recommended-solution-for-deep-cloning-copying-an-instance

关于更快的深拷贝的一些有趣的主题

浅克隆

它是一个对象的逐位副本.创建一个新对象,该对象具有原始对象中值的精确副本.如果对象的任何字段是对其他对象的引用,则仅复制引用.因此,如果要复制的对象包含对其他对象的引用,则浅复制引用相同的子对象.

深度克隆.

深层副本是对象的完整副本.如果对象具有对其他对象的引用,则还会完成这些对象的新副本.深层复制不仅会生成原始对象的原始值的副本,还会生成所有子对象的副本,一直到底部.如果您需要原始对象的真实完整副本,则需要为该对象实现完整的深层副本.

Java支持使用Cloneable接口进行浅层和深层复制,以创建对象的副本.要创建Java对象的克隆,请声明对象实现Cloneable,然后提供标准Java Object基类的clone方法的覆盖.实现Cloneable告诉java编译器您的对象是Cloneable.克隆实际上是通过克隆方法完成的.

创建对象的方法有多少.

  • 序列化
  • clone()方法
  • 新的运算符复制构造函数.