Partager via


ObjectInputStream.ResolveObject(Object) Méthode

Définition

Cette méthode permet aux sous-classes approuvées d’ObjectInputStream de remplacer un objet par un autre lors de la désérialisation.

[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

Paramètres

obj
Object

objet à remplacer

Retours

l’objet substitué

Attributs

Exceptions

si une erreur d’E/S se produit lors de la création de l’objet de remplacement.

Remarques

Cette méthode permet aux sous-classes approuvées d’ObjectInputStream de remplacer un objet par un autre lors de la désérialisation. Le remplacement des objets est désactivé jusqu’à ce que enableResolveObject soit appelé. La méthode enableResolveObject vérifie que le flux demandant à résoudre l’objet peut être approuvé. Chaque référence aux objets sérialisables est passée à resolveObject. Pour vous assurer que l’état privé des objets n’est pas involontairement exposé, seuls les flux approuvés peuvent utiliser resolveObject.

Cette méthode est appelée une fois qu’un objet a été lu, mais avant qu’il ne soit retourné par readObject. La méthode resolveObject par défaut retourne simplement le même objet.

Lorsqu’une sous-classe remplace des objets, elle doit s’assurer que l’objet substitué est compatible avec chaque champ où la référence sera stockée. Les objets dont le type n’est pas une sous-classe du type de l’élément champ ou tableau abandonnent la sérialisation en déclenchant une exception et l’objet n’est pas stocké.

Cette méthode n’est appelée qu’une seule fois lorsque chaque objet est rencontré pour la première fois. Toutes les références suivantes à l’objet sont redirigées vers le nouvel objet.

Documentation Java pour java.io.ObjectInputStream.resolveObject(java.lang.Object).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

S’applique à

Voir aussi