ObjectOutputStream.WriteUnshared(Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将“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 属性许可证中所述的术语使用。