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
傳回
是這個實例的複製品。
- 屬性
例外狀況
如果這個物件的類別沒有實作該介面。Cloneable
備註
建立並回傳此物件的副本。 「複製」的精確含義可能取決於物件的類別。 一般意圖是,對於任何物件 x,表達式為: <blockquote>
x.clone() != x
</blockquote> 為真,且表達式: <blockquote>
x.clone().getClass() == x.getClass()
</blockquote> 會是 true,但這些並非絕對要求。 雖然通常情況是: <引用區塊>
x.clone().equals(x)
</blockquote> 將是 true,這並非絕對要求。
依慣例,回傳物件應透過呼叫 super.clone取得。 若一個類別及其所有超類別(除 Object)都遵守此慣例,則 將是 x.clone().getClass() == x.getClass()。
依慣例,此方法回傳的物件應獨立於被克隆的物件。 為了達成這種獨立性,可能需要先修改物件的 super.clone 一個或多個欄位,然後再返回物件。 通常,這表示複製構成被克隆物件內部「深層結構」的任何可變物件,並將對這些物件的參考替換為對複製品的引用。 如果一個類別只包含原始欄位或對不可變物件的引用,通常該物件中回傳 super.clone 的欄位不需要修改。
的 java.lang.Object.clone()Java 檔。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。