Compartir a través de


ObjectInputStream.ResolveObject(Object) Método

Definición

Este método permitirá que las subclases de confianza de ObjectInputStream sustituya un objeto por otro durante la deserialización.

[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

Parámetros

obj
Object

objeto que se va a sustituir

Devoluciones

el objeto sustituido

Atributos

Excepciones

si se produce algún error de E/S al crear el objeto de reemplazo.

Comentarios

Este método permitirá que las subclases de confianza de ObjectInputStream sustituya un objeto por otro durante la deserialización. El reemplazo de objetos está deshabilitado hasta que se llama a enableResolveObject. El método enableResolveObject comprueba que la secuencia que solicita resolver el objeto puede ser de confianza. Cada referencia a objetos serializables se pasa a resolveObject. Para asegurarse de que el estado privado de los objetos no se expone involuntariamente solo las secuencias de confianza pueden usar resolveObject.

Se llama a este método después de leer un objeto, pero antes de devolverlo desde readObject. El método resolveObject predeterminado simplemente devuelve el mismo objeto.

Cuando una subclase reemplaza objetos, debe asegurarse de que el objeto sustituido sea compatible con cada campo donde se almacenará la referencia. Los objetos cuyo tipo no es una subclase del tipo del campo o elemento de matriz anulan la serialización mediante la generación de una excepción y el objeto no se almacena.

Este método se llama solo una vez cuando se encuentra por primera vez cada objeto. Todas las referencias posteriores al objeto se redirigirán al nuevo objeto.

Documentación de Java para java.io.ObjectInputStream.resolveObject(java.lang.Object).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a

Consulte también