Heim >Java >javaLernprogramm >Können Sie in Java auf Anmerkungswerte einer anderen Klasse zugreifen?

Können Sie in Java auf Anmerkungswerte einer anderen Klasse zugreifen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-26 10:11:02369Durchsuche

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

Externer Zugriff auf Anmerkungswerte

Ist es in Java möglich, die Werte von Anmerkungen, die in einer Klasse definiert sind, innerhalb einer anderen abzurufen?

Zum Beispiel: Betrachten Sie die folgende Annotation und die entsprechenden Zugriffsmethoden:

<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>

Ist es möglich, den „columnName“-Wert der @Column-Annotation aus einer separaten Klasse zu ermitteln?

Ja , ist es möglich, wenn die @Column-Annotation die Laufzeitaufbewahrung mithilfe von @Retention(RetentionPolicy.RUNTIME) angibt. So geht's:

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

Beachten Sie, dass MyClass.class.getFields() nur öffentliche Felder abruft. Um auf private Felder zuzugreifen, verwenden Sie MyClass.class.getDeclaredFields().

Das obige ist der detaillierte Inhalt vonKönnen Sie in Java auf Anmerkungswerte einer anderen Klasse zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn