Maison > Java > javaDidacticiel > le corps du texte

Comment récupérer les valeurs des annotations dans les classes Java ?

Susan Sarandon
Libérer: 2024-10-27 01:04:30
original
547 Les gens l'ont consulté

How to Retrieve Values from Annotations in Java Classes?

Récupération des valeurs des champs d'annotation dans les classes Java

Dans la programmation Java, les annotations sont des métadonnées attachées aux classes, méthodes ou champs. Ces annotations peuvent fournir des informations supplémentaires sur la structure ou le comportement du code. Bien que ces annotations soient généralement utilisées pour déclencher des fonctionnalités spécifiques ou fournir des conseils aux outils de compilation, il peut arriver que vous ayez besoin de lire les valeurs stockées dans ces annotations. Cet article montre comment atteindre cet objectif.

Considérons l'exemple suivant :

<code class="java">@Column(columnName="firstname")
private String firstName;

@Column(columnName="lastname")
private String lastName;</code>
Copier après la connexion

Dans ce code, les annotations @Column sont utilisées pour spécifier les noms de colonnes associés aux champs correspondants. Examinons maintenant la question posée :

Pouvez-vous lire la valeur de l'annotation @Column dans une autre classe ?

La réponse est affirmative. Cependant, cette fonctionnalité dépend de la politique de rétention de l'annotation. L'annotation @Column doit spécifier RetentionPolicy.RUNTIME pour permettre l'accès à ses valeurs au-delà du temps de compilation. Modifiez l'annotation @Column comme suit :

<code class="java">@Retention(RetentionPolicy.RUNTIME)
@interface Column {
    String columnName();
}</code>
Copier après la connexion

Avec la stratégie de rétention d'exécution en place, vous pouvez récupérer les valeurs d'annotation à l'aide de la réflexion. Voici un exemple :

<code class="java">for (Field f : MyClass.class.getFields()) {
   Column column = f.getAnnotation(Column.class);
   if (column != null)
       System.out.println(column.columnName());
}</code>
Copier après la connexion

En parcourant les champs de la classe MyClass et en examinant les annotations de chaque champ, vous pouvez extraire les valeurs des annotations @Column.

Remarque : Si vos champs sont déclarés privés, utilisez getDeclaredFields() au lieu de getFields().

Cette méthode fournit un moyen d'accéder et de traiter les informations contenues dans les annotations, étendant ainsi la flexibilité et l'extensibilité de votre code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!