Object.Clone Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea e restituisce una copia di questo oggetto.
[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
Valori restituiti
clone di questa istanza.
- Attributi
Eccezioni
se la classe dell'oggetto non implementa l'interfaccia Cloneable .
Commenti
Crea e restituisce una copia di questo oggetto. Il significato preciso di "copia" può dipendere dalla classe dell'oggetto . La finalità generale è che, per qualsiasi oggetto x, l'espressione: <blockquote>
x.clone() != x
</blockquote> sarà true e che l'espressione: <blockquote>
x.clone().getClass() == x.getClass()
</blockquote> sarà true, ma questi non sono requisiti assoluti. Anche se in genere è il caso che: <blockquote>
x.clone().equals(x)
</blockquote> sarà true, questo non è un requisito assoluto.
Per convenzione, l'oggetto restituito deve essere ottenuto chiamando super.clone. Se una classe e tutte le relative superclassi (ad eccezione Objectdi ) obbediscono a questa convenzione, sarà il caso che x.clone().getClass() == x.getClass().
Per convenzione, l'oggetto restituito da questo metodo deve essere indipendente da questo oggetto (che viene clonato). Per ottenere questa indipendenza, potrebbe essere necessario modificare uno o più campi dell'oggetto restituito da super.clone prima di restituirlo. In genere, ciò significa copiare tutti gli oggetti modificabili che comprendono la "struttura profonda" interna dell'oggetto clonato e sostituendo i riferimenti a questi oggetti con riferimenti alle copie. Se una classe contiene solo campi primitivi o riferimenti a oggetti non modificabili, in genere non è necessario modificare alcun campo nell'oggetto restituito da super.clone .
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.