ObjectInputStream.ResolveObject(Object) 方法

定义

此方法允许 ObjectInputStream 的受信任子类在反序列化期间将一个对象替换为另一个对象。

[Android.Runtime.Register("resolveObject", "(Ljava/lang/Object;)Ljava/lang/Object;", "GetResolveObject_Ljava_lang_Object_Handler")]
protected virtual Java.Lang.Object? ResolveObject (Java.Lang.Object? obj);
[<Android.Runtime.Register("resolveObject", "(Ljava/lang/Object;)Ljava/lang/Object;", "GetResolveObject_Ljava_lang_Object_Handler")>]
abstract member ResolveObject : Java.Lang.Object -> Java.Lang.Object
override this.ResolveObject : Java.Lang.Object -> Java.Lang.Object

参数

obj
Object

要替换的对象

返回

替换的对象

属性

例外

如果在创建替换对象时发生任何 I/O 错误。

注解

此方法允许 ObjectInputStream 的受信任子类在反序列化期间将一个对象替换为另一个对象。 在调用 enableResolveObject 之前,将禁用替换对象。 enableResolveObject 方法检查请求解析对象的流是否可以受信任。 将每个对可序列化对象的引用传递给 resolveObject。 若要确保对象的专用状态不是无意中公开的,只有受信任的流才能使用 resolveObject。

此方法是在读取对象后调用的,但在从 readObject 返回对象之前调用此方法。 默认 resolveObject 方法仅返回相同的对象。

当子类替换对象时,它必须确保替换的对象与存储引用的每个字段兼容。 其类型不是字段或数组元素类型的子类的对象通过引发异常而中止序列化,并且对象不存储。

首次遇到每个对象时,仅调用此方法一次。 对对象的所有后续引用都将重定向到新对象。

适用于 . 的 java.io.ObjectInputStream.resolveObject(java.lang.Object)Java 文档

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

适用于

另请参阅