Sprache

Object.Clone Methode

Definition

Erstellt und gibt eine Kopie dieses Objekts zurück.

[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

Gibt zurück

ein Klon dieser Instanz.

Attribute

Ausnahmen

wenn die Klasse dieses Objekts die Cloneable Schnittstelle nicht implementiert.

Hinweise

Erstellt und gibt eine Kopie dieses Objekts zurück. Die genaue Bedeutung von "Kopie" kann von der Klasse des Objekts abhängen. Die allgemeine Absicht ist, dass der Ausdruck für jedes Objekt x: <blockquote>

x.clone() != x

</blockquote> ist wahr und der Ausdruck: <blockquote>

x.clone().getClass() == x.getClass()

</blockquote> wird sein true, aber dies sind keine absoluten Anforderungen. Während es in der Regel der Fall ist, dass: <Blockquote>

x.clone().equals(x)

</blockquote> ist true, dies ist keine absolute Anforderung.

In der Konvention sollte das zurückgegebene Objekt durch Aufrufen super.cloneabgerufen werden. Wenn eine Klasse und alle ihre Superklassen (außer Object) diesem Übereinkommen gehorchen, wird es der Fall sein, dass x.clone().getClass() == x.getClass().

In der Konvention sollte das von dieser Methode zurückgegebene Objekt unabhängig von diesem Objekt sein (das geklont wird). Um diese Unabhängigkeit zu erreichen, kann es erforderlich sein, ein oder mehrere Felder des Zurückgegebenen super.clone Objekts zu ändern, bevor es zurückgegeben wird. In der Regel bedeutet dies das Kopieren von veränderbaren Objekten, die die interne "tiefe Struktur" des Objekts umfassen, das geklont wird, und das Ersetzen der Verweise auf diese Objekte durch Verweise auf die Kopien. Wenn eine Klasse nur primitive Felder oder Verweise auf unveränderliche Objekte enthält, ist es in der Regel der Fall, dass keine Felder im Objekt geändert werden müssen, die zurückgegeben super.clone werden müssen.

Java Dokumentation für java.lang.Object.clone().

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: