Compartilhar via


ObjectOutputStream.WriteUnshared(Object) Método

Definição

Grava um objeto "não compartilhado" no ObjectOutputStream.

[Android.Runtime.Register("writeUnshared", "(Ljava/lang/Object;)V", "GetWriteUnshared_Ljava_lang_Object_Handler")]
public virtual void WriteUnshared (Java.Lang.Object? obj);
[<Android.Runtime.Register("writeUnshared", "(Ljava/lang/Object;)V", "GetWriteUnshared_Ljava_lang_Object_Handler")>]
abstract member WriteUnshared : Java.Lang.Object -> unit
override this.WriteUnshared : Java.Lang.Object -> unit

Parâmetros

obj
Object

objeto a ser gravado no fluxo

Atributos

Exceções

se ocorrer um erro ao gravar no fluxo de destino.

Comentários

Grava um objeto "não compartilhado" no ObjectOutputStream. Esse método é idêntico a writeObject, exceto que ele sempre grava o objeto fornecido como um novo objeto exclusivo no fluxo (em oposição a uma referência de volta apontando para uma instância serializada anteriormente). Especificamente: <ul><li>Um objeto escrito via writeUnshared é sempre serializado da mesma maneira que um objeto recém-aparecido (um objeto que ainda não foi gravado no fluxo), independentemente de o objeto ter sido ou não escrito anteriormente.

<li>Se writeObject for usado para gravar um objeto que foi escrito anteriormente com writeUnshared, a operação writeUnshared anterior será tratada como se fosse uma gravação de um objeto separado. Em outras palavras, ObjectOutputStream nunca gerará referências de volta a dados de objeto gravados por chamadas para writeUnshared. </ul> Embora escrever um objeto via writeUnshared não garanta por si só uma referência exclusiva ao objeto quando ele é desserializado, ele permite que um único objeto seja definido várias vezes em um fluxo, de modo que várias chamadas para readUnshared pelo receptor não entrem em conflito. Observe que as regras descritas acima se aplicam apenas ao objeto de nível base escrito com writeUnshared, e não a qualquer subobjeto referenciado transitivamente no gráfico de objeto a ser serializado.

As subclasses ObjectOutputStream que substituem esse método só podem ser construídas em contextos de segurança que possuam o "enableSubclassImplementation" SerializablePermission; qualquer tentativa de instanciar essa subclasse sem essa permissão fará com que um SecurityException seja lançado.

Adicionado em 1.4.

Documentação Java para java.io.ObjectOutputStream.writeUnshared(java.lang.Object).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a

Confira também