ISerial Interface
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Indique qu’un champ ou une méthode annoté fait partie du mécanisme de sérialisation sérialisable défini par le <cite> 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
- Attributs
- Implémente
Remarques
Indique qu’un champ ou une méthode annoté fait partie du mécanisme de sérialisation sérialisable défini par le <cite> Java Object Serialization Specification</cite>. Ce type d’annotation est destiné à permettre la vérification au moment de la compilation des déclarations liées à la sérialisation, analogue à la vérification activée par le type d’annotation pour valider la java.lang.Override substitution de méthode.
Serializable Les classes sont encouragées à utiliser @Serial des annotations pour aider un compilateur à intercepter les champs et méthodes liés à la sérialisation non déclarés, les déclarations incorrectes qui peuvent être difficiles à détecter.
Plus précisément, les annotations de ce type doivent être appliquées aux méthodes et champs liés à la sérialisation dans les classes déclarées comme Serializableétant . Les cinq méthodes liées à la sérialisation sont les suivantes :
<ul><li><private void writeObject(java.io.ObjectOutputStream stream) throws IOExceptionli><private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundExceptionli>private void readObjectNoData() throws ObjectStreamException<li>ANY-ACCESS-MODIFIERObject writeReplace() throws ObjectStreamException<li>ANY-ACCESS-MODIFIERObject readResolve() throws ObjectStreamException</ul>
Les deux champs liés à la sérialisation sont les suivants :
<ul><li>private static final ObjectStreamField[] serialPersistentFields</>private static final long serialVersionUID<ul>
Les compilateurs sont encouragés à vérifier qu’une méthode ou un champ marqué avec une annotation est l’une @Serial des méthodes ou champs de sérialisation définis déclarés dans un contexte significatif et émettre un avertissement si ce n’est pas le cas.
Il s’agit d’une erreur sémantique pour appliquer cette annotation à d’autres champs ou méthodes, notamment : <ul<>li>fields ou méthodes dans une classe qui n’est pas<Serializable des>champs li ou des méthodes de la déclaration structurelle appropriée, mais dans un type où ils sont ineffectuels. Par exemple, enum les types sont définis pour avoir un 0LserialVersionUIDserialVersionUID champ déclaré dans un enum type est ignoré. Les cinq méthodes liées à la sérialisation identifiées ci-dessus sont également ignorées pour un enum type.
<li>dans une classe qui est Externalizable: <déclarations de méthode ul><li> de writeObject, readObjectet readObjectNoData<li>une déclaration de champ pour serialPersistentFields</ul>
Bien que l’interface Externalizable s’étendeSerializable, les trois méthodes et un champ ci-dessus ne sont>< pas</em> utilisés pour les classes externalisables.
</ul>
Notez que le mécanisme de sérialisation accède à ses champs et méthodes désignés de manière réfléchie et que ces champs et méthodes peuvent apparaître autrement inutilisés dans une Serializable classe.
Ajouté dans 14.
Java documentation pour java.io.Serial.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
Propriétés
| Nom | Description |
|---|---|
| Handle |
Obtient la valeur JNI de l’objet Android sous-jacent. (Hérité de IJavaObject) |
| JniIdentityHashCode |
Retourne la valeur de |
| JniManagedPeerState |
État de l’homologue managé. (Hérité de IJavaPeerable) |
| JniObjectReferenceControlBlock |
Indique qu’un champ ou une méthode annoté fait partie du mécanisme de sérialisation sérialisable défini par le <cite> Java Object Serialization Specification</cite>. (Hérité de IJavaPeerable) |
| JniPeerMembers |
Prise en charge de l’accès aux membres et de l’appel. (Hérité de IJavaPeerable) |
| PeerReference |
Retourne une JniObjectReference instance d’objet Java encapsulée. (Hérité de IJavaPeerable) |
Méthodes
| Nom | Description |
|---|---|
| AnnotationType() |
Retourne l’interface d’annotation de cette annotation. (Hérité de IAnnotation) |
| Disposed() |
Appelé lorsque l’instance a été supprimée. (Hérité de IJavaPeerable) |
| DisposeUnlessReferenced() |
S’il n’existe aucune référence en suspens à cette instance, les appels |
| Equals(Object) |
Retourne true si l’objet spécifié représente une annotation qui est logiquement équivalente à celle-ci. (Hérité de IAnnotation) |
| Finalized() |
Appelé lorsque l’instance a été finalisée. (Hérité de IJavaPeerable) |
| GetHashCode() |
Retourne le code de hachage de cette annotation. (Hérité de IAnnotation) |
| SetJniIdentityHashCode(Int32) |
Définissez la valeur retournée par |
| SetJniManagedPeerState(JniManagedPeerStates) |
Indique qu’un champ ou une méthode annoté fait partie du mécanisme de sérialisation sérialisable défini par le <cite> Java Object Serialization Specification</cite>. (Hérité de IJavaPeerable) |
| SetPeerReference(JniObjectReference) |
Définissez la valeur retournée par |
| ToString() |
Retourne une représentation sous forme de chaîne de cette annotation. (Hérité de IAnnotation) |
| UnregisterFromRuntime() |
Annulez l’inscription de cette instance afin que le runtime ne le retourne pas à partir d’appels futurs Java.Interop.JniRuntime+JniValueManager.PeekValue . (Hérité de IJavaPeerable) |
Méthodes d’extension
| Nom | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtient le nom JNI du type de l’instance |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Indique qu’un champ ou une méthode annoté fait partie du mécanisme de sérialisation sérialisable défini par le <cite> Java Object Serialization Specification</cite>. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Essayez de forcer |