次の方法で共有


ObjectOutputStream.WriteUnshared(Object) メソッド

定義

"unshared" オブジェクトを 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

ストリームに書き込むオブジェクト

属性

例外

ターゲット ストリームへの書き込み中にエラーが発生した場合。

注釈

"unshared" オブジェクトを ObjectOutputStream に書き込みます。 このメソッドは writeObject と同じですが、(以前にシリアル化されたインスタンスを指す逆参照ではなく) 特定のオブジェクトをストリーム内の新しい一意のオブジェクトとして常に書き込む点が異なります。 具体的には、 <ul><li>writeUnshared を介して書き込まれたオブジェクトは、オブジェクトが以前に書き込まれたかどうかに関係なく、新しく表示されるオブジェクト (まだストリームに書き込まれていないオブジェクト) と同じ方法で常にシリアル化されます。

<li>writeObject を使用して writeUnshared で書き込まれたオブジェクトを書き込む場合、以前の writeUnshared 操作は別のオブジェクトの書き込みであるかのように扱われます。 言い換えると、ObjectOutputStream は writeUnshared の呼び出しによって書き込まれたオブジェクト データへのバック参照を生成しません。 </ul> writeUnshared を使用してオブジェクトを書き込むだけでは、逆シリアル化されるときにオブジェクトへの一意の参照が保証されるわけではありませんが、ストリーム内で 1 つのオブジェクトを複数回定義できるため、受信側による readUnshared の呼び出しが複数回競合することはありません。 上記の規則は writeUnshared で書き込まれた基本レベルのオブジェクトにのみ適用され、シリアル化されるオブジェクト グラフ内の推移的に参照されるサブオブジェクトには適用されないことに注意してください。

このメソッドをオーバーライドする ObjectOutputStream サブクラスは、"enableSubclassImplementation" SerializablePermission を所有するセキュリティ コンテキストでのみ構築できます。このようなサブクラスをこの権限なしでインスタンス化しようとすると、SecurityException がスローされます。

1.4 で追加されました。

の Java ドキュメントjava.io.ObjectOutputStream.writeUnshared(java.lang.Object)

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象

こちらもご覧ください