Freigeben über


ObjectInputStream.ResolveObject(Object) Methode

Definition

Diese Methode ermöglicht es vertrauenswürdigen Unterklassen von ObjectInputStream, während der Deserialisierung ein Objekt für ein anderes zu ersetzen.

[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

Parameter

obj
Object

zu ersetzende Objekt

Gibt zurück

das ersetzte Objekt

Attribute

Ausnahmen

wenn beim Erstellen des Ersetzungsobjekts ein E/A-Fehler auftritt.

Hinweise

Diese Methode ermöglicht es vertrauenswürdigen Unterklassen von ObjectInputStream, während der Deserialisierung ein Objekt für ein anderes zu ersetzen. Das Ersetzen von Objekten ist deaktiviert, bis enableResolveObject aufgerufen wird. Die enableResolveObject-Methode überprüft, ob der Datenstrom, der zum Auflösen des Objekts anfordert, als vertrauenswürdig eingestuft werden kann. Jeder Verweis auf serialisierbare Objekte wird an resolveObject übergeben. Um zu versichern, dass der private Zustand von Objekten nicht unbeabsichtigt verfügbar gemacht wird, können nur vertrauenswürdige Datenströme resolveObject verwenden.

Diese Methode wird aufgerufen, nachdem ein Objekt gelesen wurde, aber bevor es von readObject zurückgegeben wird. Die standardmäßige resolveObject-Methode gibt nur dasselbe Objekt zurück.

Wenn eine Unterklasse Objekte ersetzt, muss es sich vergewissern, dass das ersetzte Objekt mit jedem Feld kompatibel ist, in dem der Verweis gespeichert wird. Objekte, deren Typ keine Unterklasse des Typs des Felds oder Arrayelements ist, brechen die Serialisierung ab, indem eine Ausnahme ausgelöst wird und das Objekt nicht gespeichert wird.

Diese Methode wird nur einmal aufgerufen, wenn jedes Objekt zuerst gefunden wird. Alle nachfolgenden Verweise auf das Objekt werden an das neue Objekt umgeleitet.

Java-Dokumentation für java.io.ObjectInputStream.resolveObject(java.lang.Object).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Weitere Informationen