ObjectOutputStream.WriteUnshared(Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
會寫入一個「未共享」的物件到 ObjectOutputStream。
[Android.Runtime.Register("writeUnshared", "(Ljava/lang/Object;)V", "GetWriteUnshared_Ljava_lang_Object_Handler")]
public virtual void WriteUnshared(Java.Lang.Object? obj);
[<Android.Runtime.Register("writeUnshared", "(Ljava/lang/Object;)V", "GetWriteUnshared_Ljava_lang_Object_Handler")>]
abstract member WriteUnshared : Java.Lang.Object -> unit
override this.WriteUnshared : Java.Lang.Object -> unit
參數
- obj
- Object
物件用來寫入串流
- 屬性
例外狀況
如果在寫入目標串流時發生錯誤。
備註
會寫入一個「未共享」的物件到 ObjectOutputStream。 此方法與 writeObject 相同,但總是將給定物件寫入串流中一個新的、唯一物件(而非指向先前序列化實例的回溯參考)。 具體來說: <ul><li>透過 writeUnshared 寫入的物件,無論該物件是否先前被寫入,都會以與新出現的物件(尚未寫入串流的物件)相同的方式序列化。
<li>如果 writeObject 用來寫入先前用 writeUnshared 寫入的物件,那麼之前的 writeUnshared 操作會被視為對另一個獨立物件的寫入。 換句話說,ObjectOutputStream 永遠不會產生透過 writeUnshared 呼叫所寫的物件資料的回溯參考。 </ul> 雖然透過 writeUnshared 寫入物件本身並不保證在反序列化時物件唯一引用,但它允許在同一物件串流中多次定義,使接收端多次呼叫 readUnshared 不會衝突。 請注意,上述規則僅適用於使用 writeUnshared 撰寫的基底物件,不適用於待序列化的物件圖中任何可傳遞參照的子物件。
覆寫此方法的 ObjectOutputStream 子類別只能在具備「enableSubclassImplementation」SerializablePermissions 的安全情境中建構;未經此許可嘗試實例化此類子類別,將觸發 SecurityException。
在 1.4 版本加入。
Java 文件 java.io.ObjectOutputStream.writeUnshared(java.lang.Object)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。