Maison > Java > javaDidacticiel > Pouvez-vous accéder aux valeurs d'annotation d'une classe différente en Java ?

Pouvez-vous accéder aux valeurs d'annotation d'une classe différente en Java ?

Linda Hamilton
Libérer: 2024-10-26 10:11:02
original
380 Les gens l'ont consulté

Can You Access Annotation Values from a Different Class in Java?

Accès aux valeurs d'annotation en externe

En Java, est-il possible de récupérer les valeurs des annotations définies dans une classe au sein d'une autre ?

Par exemple, considérons l'annotation suivante et ses méthodes d'accès correspondantes :

<br>@Column(columnName="firstname")<br>private String firstName;</p>
<p>@Column(columnName= "lastname")<br>private String lastName;</p>
<p>public String getFirstName() {<br> return firstName;<br>}</p>
<p>public void setFirstName(String firstName) {<br> this.firstName = firstName;<br>}</p>
<p>public String getLastName() {<br> return lastName;<br>></p>
<p>public void setLastName(String lastName) {<br> this .lastName = lastName;<br>}<br>

Est-il possible de vérifier la valeur "columnName" de l'annotation @Column à partir d'une classe distincte ?

Oui , c'est possible si l'annotation @Column spécifie la rétention d'exécution à l'aide de @Retention(RetentionPolicy.RUNTIME). Voici comment :

<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

Notez que MyClass.class.getFields() récupère uniquement les champs publics. Pour accéder aux champs privés, utilisez MyClass.class.getDeclaredFields().

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