Maison > Java > javaDidacticiel > le corps du texte

Comment accéder aux valeurs d'annotation lors de l'exécution en Java ?

Susan Sarandon
Libérer: 2024-10-26 05:59:30
original
971 Les gens l'ont consulté

How to Access Annotation Values at Runtime in Java?

Accès aux valeurs d'annotation en Java

Les annotations Java fournissent un mécanisme permettant d'ajouter des métadonnées aux éléments de code, tels que des classes, des méthodes et des champs. Par défaut, les annotations ne sont disponibles que lors de la compilation et sont supprimées au moment de l'exécution. Cependant, en spécifiant la valeur RetentionPolicy.RUNTIME dans l'annotation Retention, vous pouvez conserver les annotations au moment de l'exécution.

Accéder aux valeurs d'annotation d'une autre classe

Si une annotation a la RetentionPolicy.RUNTIME, vous pouvez utiliser la réflexion Java pour lire sa valeur à partir d'une autre classe. Voici comment :

<code class="java">// Import the necessary classes
import java.lang.reflect.Field;
import java.lang.annotation.Annotation;

// Get the class object
Class<?> clazz = MyClass.class;

// Iterate over the fields of the class
for (Field field : clazz.getFields()) {

    // Check if the field has the Column annotation
    Annotation annotation = field.getAnnotation(Column.class);

    // If the annotation exists, read its columnName() value
    if (annotation != null) {
        String columnName = ((Column) annotation).columnName();
        System.out.println("Column Name: " + columnName);
    }
}</code>
Copier après la connexion

Accès aux champs privés

La méthode getFields() récupère uniquement les champs publics. Pour accéder aux champs privés, utilisez plutôt getDeclaredFields() :

<code class="java">for (Field field : clazz.getDeclaredFields()) {

    ...
}</code>
Copier après la connexion

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!