ObjectInputStream.ReadUnshared Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Liest ein "unshared"-Objekt aus objectInputStream.
[Android.Runtime.Register("readUnshared", "()Ljava/lang/Object;", "GetReadUnsharedHandler")]
public virtual Java.Lang.Object? ReadUnshared();
[<Android.Runtime.Register("readUnshared", "()Ljava/lang/Object;", "GetReadUnsharedHandler")>]
abstract member ReadUnshared : unit -> Java.Lang.Object
override this.ReadUnshared : unit -> Java.Lang.Object
Gibt zurück
Verweis auf deserialisiertes Objekt
- Attribute
Ausnahmen
wenn die Klasse eines der Objekte im Objektdiagramm nicht gefunden werden kann.
wenn beim Lesen aus dem Quelldatenstrom ein Fehler auftritt.
Hinweise
Liest ein "unshared"-Objekt aus objectInputStream. Diese Methode ist identisch mit readObject, mit der Ausnahme, dass nachfolgende Aufrufe von readObject und readUnshared daran gehindert werden, zusätzliche Verweise auf die über diesen Aufruf abgerufene deserialisierte Instanz zurückzugeben. Genauer gesagt: <ul><li>If readUnshared is called to deserialize a back-reference (the stream representation of an object which has been written previously to the stream), an ObjectStreamException will be thrown.
<li>Wenn readUnshared erfolgreich zurückgegeben wird, werden alle nachfolgenden Versuche, Zurückverweise auf den Datenstromhandle deserialisiert von readUnshared zu deserialisieren, dazu führen, dass objectStreamException ausgelöst wird. </ul> Deserialisieren eines Objekts über readUnshared ungültigt das Datenstromhandle, das dem zurückgegebenen Objekt zugeordnet ist. Beachten Sie, dass dies selbst nicht immer garantiert, dass der von readUnshared zurückgegebene Verweis eindeutig ist; Das deserialisierte Objekt kann eine readResolve-Methode definieren, die ein Objekt zurückgibt, das für andere Parteien sichtbar ist, oder readUnshared kann ein Class-Objekt oder eine Enumerationskonstante zurückgeben, die an anderer Stelle im Datenstrom oder über externe Mittel abgerufen werden kann. Wenn das deserialisierte Objekt eine readResolve-Methode definiert und der Aufruf dieser Methode ein Array zurückgibt, gibt readUnshared einen flachen Klon dieses Arrays zurück; dadurch wird sichergestellt, dass das zurückgegebene Arrayobjekt eindeutig ist und nicht ein zweites Mal von einem Aufruf von readObject oder readUnshared im ObjectInputStream abgerufen werden kann, auch wenn der zugrunde liegende Datenstrom bearbeitet wurde.
ObjectInputStream-Unterklassen, die diese Methode außer Kraft setzen, können nur in Sicherheitskontexten mit der SerializablePermission "enableSubclassImplementation" erstellt werden; jeder Versuch, eine solche Unterklasse ohne diese Berechtigung zu instanziieren, führt dazu, dass eine SecurityException ausgelöst wird.
In 1.4 hinzugefügt.
Java Dokumentation für java.io.ObjectInputStream.readUnshared().
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.