ISerial Interfaz

Definición

Indica que un campo o método anotado forma parte del mecanismo de serialización serializable definido por la <cita>Java Object Serialization Specification</cite>.

[Android.Runtime.Register("java/io/Serial", "", "Java.IO.ISerialInvoker", ApiSince=34)]
public interface ISerial : IDisposable, Java.Interop.IJavaPeerable, Java.Lang.Annotation.IAnnotation
[<Android.Runtime.Register("java/io/Serial", "", "Java.IO.ISerialInvoker", ApiSince=34)>]
type ISerial = interface
    interface IAnnotation
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Atributos
Implementaciones

Comentarios

Indica que un campo o método anotado forma parte del mecanismo de serialización serializable definido por la <cita>Java Object Serialization Specification</cite>. Este tipo de anotación está pensado para permitir la comprobación en tiempo de compilación de declaraciones relacionadas con la serialización, análoga a la comprobación habilitada por el java.lang.Override tipo de anotación para validar la invalidación del método. Serializable Se recomienda que las clases usen @Serial anotaciones para ayudar a un compilador a detectar métodos y campos relacionados con la serialización declarados erróneamente, declaraciones erróneas que, de lo contrario, pueden ser difíciles de detectar.

En concreto, las anotaciones de este tipo se deben aplicar a los métodos y campos relacionados con la serialización de las clases declaradas como Serializable. Los cinco métodos relacionados con la serialización son:

<ul><li li li><private void writeObject(java.io.ObjectOutputStream stream) throws IOException>private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundException><private void readObjectNoData() throws ObjectStreamException<>ANY-ACCESS-MODIFIERObject writeReplace() throws ObjectStreamException<li>ANY-ACCESS-MODIFIERObject readResolve() throws ObjectStreamException</ul>

Los dos campos relacionados con la serialización son:

<ul>li li>private static final long serialVersionUID<><private static final ObjectStreamField[] serialPersistentFields/ul<>

Se recomienda a los compiladores validar que un método o campo marcado con una @Serial anotación es uno de los métodos o campos definidos relacionados con la serialización declarados en un contexto significativo y emitir una advertencia si no es así.

Se trata de un error semántico para aplicar esta anotación a otros campos o métodos, incluidos: <ul><li>fields or methods in a class that is not<Serializable li>fields or methods of the proper structural declaration, but in a type where they are ineffectual. Por ejemplo, enum los tipos se definen para tener un serialVersionUID de 0L para que se omita un serialVersionUID campo declarado en un enum tipo. Los cinco métodos relacionados con la serialización identificados anteriormente se omiten igualmente para un enum tipo.

<li>en una clase que es Externalizable: <ul><li> method declarations of writeObject, readObjecty readObjectNoData<li>a field declaration for serialPersistentFields</ul>

Mientras que la Externalizable interfaz extiende Serializable, los tres métodos y un campo anterior son <em>not</em> usados para las clases externalizables.

</ul>

Tenga en cuenta que el mecanismo de serialización tiene acceso a sus campos y métodos designados de forma reflectante, y esos campos y métodos pueden aparecer sin usar en una Serializable clase.

Agregado en 14.

Documentación de Java para java.io.Serial.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código Project y que se usan según los términos Creative Commons 2.5 Attribution License.

Propiedades

Handle

Obtiene el valor JNI del objeto Android subyacente.

(Heredado de IJavaObject)
JniIdentityHashCode

Devuelve el valor de java.lang.System.identityHashCode() para la instancia ajustada.

(Heredado de IJavaPeerable)
JniManagedPeerState

Estado del mismo nivel administrado.

(Heredado de IJavaPeerable)
JniPeerMembers

Compatibilidad con la invocación y el acceso de miembros.

(Heredado de IJavaPeerable)
PeerReference

Devuelve una JniObjectReference de la instancia de objeto Java ajustada.

(Heredado de IJavaPeerable)

Métodos

AnnotationType()

Devuelve la interfaz de anotación de esta anotación.

(Heredado de IAnnotation)
Disposed()

Se llama cuando se ha eliminado la instancia.

(Heredado de IJavaPeerable)
DisposeUnlessReferenced()

Si no hay referencias pendientes a esta instancia, llama a Dispose(); de lo contrario, no hace nada.

(Heredado de IJavaPeerable)
Equals(Object)

Devuelve true si el objeto especificado representa una anotación que es lógicamente equivalente a esta.

(Heredado de IAnnotation)
Finalized()

Se llama cuando se ha finalizado la instancia.

(Heredado de IJavaPeerable)
GetHashCode()

Devuelve el código hash de esta anotación.

(Heredado de IAnnotation)
SetJniIdentityHashCode(Int32)

Establezca el valor devuelto por JniIdentityHashCode.

(Heredado de IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Indica que un campo o método anotado forma parte del mecanismo de serialización serializable definido por la <cita>Java Object Serialization Specification</cite>.

(Heredado de IJavaPeerable)
SetPeerReference(JniObjectReference)

Establezca el valor devuelto por PeerReference.

(Heredado de IJavaPeerable)
ToString()

Devuelve una representación de cadena de esta anotación.

(Heredado de IAnnotation)
UnregisterFromRuntime()

Anule el registro de esta instancia para que el tiempo de ejecución no lo devuelva de invocaciones futuras Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Heredado de IJavaPeerable)

Métodos de extensión

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Indica que un campo o método anotado forma parte del mecanismo de serialización serializable definido por la <cita>Java Object Serialization Specification</cite>.

GetJniTypeName(IJavaPeerable)

Indica que un campo o método anotado forma parte del mecanismo de serialización serializable definido por la <cita>Java Object Serialization Specification</cite>.

Se aplica a