Object.Clone 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建并返回此对象的副本。
[Android.Runtime.Register("clone", "()Ljava/lang/Object;", "GetCloneHandler")]
protected virtual Java.Lang.Object Clone();
[<Android.Runtime.Register("clone", "()Ljava/lang/Object;", "GetCloneHandler")>]
abstract member Clone : unit -> Java.Lang.Object
override this.Clone : unit -> Java.Lang.Object
返回
此实例的克隆。
- 属性
例外
如果此对象的类未实现接口,则
注解
创建并返回此对象的副本。 “copy”的精确含义可能取决于对象的类。 一般意向是,对于任何对象 x,表达式: <blockquote>
x.clone() != x
</blockquote> 为 true,表达式为 <blockquote>
x.clone().getClass() == x.getClass()
</blockquote> 将是 true,但这些不是绝对要求。 虽然通常是: <blockquote>
x.clone().equals(x)
</blockquote> 将是 true,这不是绝对要求。
按照约定,返回的对象应通过调用 super.clone来获取。 如果一个类及其所有超级类(除外 Object)都遵循此约定,则情况就是这样 x.clone().getClass() == x.getClass()。
按照约定,此方法返回的对象应独立于此对象(正在克隆)。 若要实现此独立性,可能需要在返回对象之前修改返回 super.clone 的一个或多个字段。 通常,这意味着复制包含所克隆对象的内部“深层结构”的任何可变对象,并将对这些对象的引用替换为对副本的引用。 如果类仅包含基元字段或对不可变对象的引用,则通常不需要修改对象中返回 super.clone 的字段。
适用于 . 的 java.lang.Object.clone()Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。