ISerial Interfaz

Definición

Indica que un campo o método anotado forma parte del mecanismo de serialización serializable definido por el <cita Java Especificación> de serialización de objetos/cita<>.

[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 el <cita Java Especificación> de serialización de objetos/cita<>. 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 tipo de anotación para validar la java.lang.Override invalidación del método. Serializable Se recomienda que las clases usen @Serial anotaciones para ayudar a un compilador a detectar campos y métodos relacionados con la serialización declarados erróneamente, declaraciones incorrectas que pueden ser difíciles de detectar.

En concreto, las anotaciones de este tipo deben aplicarse 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>private void writeObject(java.io.ObjectOutputStream stream) throws IOException<li><private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundExceptionli li>><private void readObjectNoData() throws ObjectStreamExceptionli 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 ObjectStreamField[] serialPersistentFields<>private static final long serialVersionUID/ul<>

Se recomienda que los compiladores validen que un método o campo marcado con una @Serial anotación sea uno de los métodos o campos definidos relacionados con la serialización declarados en un contexto significativo y emita 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 también se omiten 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 la Externalizable interfaz extiende Serializable, los tres métodos y un campo anterior son <em>not</em> usados para clases externalizables.

</ul>

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

Agregado en 14.

Java documentación para java.io.Serial.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Propiedades

Nombre Description
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 un JniObjectReference de la instancia de objeto Java ajustada.

(Heredado de IJavaPeerable)

Métodos

Nombre Description
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 el <cita Java Especificación> de serialización de objetos/cita<>.

(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 entorno de ejecución no lo devuelva de invocaciones futuras Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Heredado de IJavaPeerable)

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

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 el <cita Java Especificación> de serialización de objetos/cita<>.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a