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>An 对象通过 writeUnshared 编写的对象始终以与新出现的对象(尚未写入流的对象)相同方式序列化,而不管对象是否以前编写过。

<li>如果 writeObject 用于编写以前使用 writeUnshared 编写的对象,则以前的 writeUnshared 操作将被视为写入单独的对象。 换句话说,ObjectOutputStream 永远不会生成对由调用 writeUnshared 写入的对象数据的回引用。 </ul> 虽然通过 writeUnshared 写入对象本身并不保证反序列化对象时对对象的唯一引用,但它允许在流中多次定义单个对象,以便接收方对 readUnshared 的多次调用不会冲突。 请注意,上述规则仅适用于使用 writeUnshared 编写的基级对象,不适用于要序列化的对象图中任何可传递引用的子对象。

只能在具有“enableSubclassImplementation”SerializablePermission 的安全上下文中构造重写此方法的 ObjectOutputStream 子类;任何在没有此权限的情况下实例化此类子类的尝试都将导致引发 SecurityException。

在 1.4 中添加。

适用于 . 的 java.io.ObjectOutputStream.writeUnshared(java.lang.Object)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于

另请参阅