Heim > Java > javaLernprogramm > Hauptteil

Wie rufe ich Werte aus Anmerkungen in Java-Klassen ab?

Susan Sarandon
Freigeben: 2024-10-27 01:04:30
Original
547 Leute haben es durchsucht

How to Retrieve Values from Annotations in Java Classes?

Abrufen von Annotationsfeldwerten in Java-Klassen

In der Java-Programmierung sind Annotationen Metadaten, die an Klassen, Methoden oder Felder angehängt sind. Diese Anmerkungen können zusätzliche Informationen über die Struktur oder das Verhalten des Codes liefern. Während diese Anmerkungen normalerweise verwendet werden, um bestimmte Funktionen auszulösen oder Hinweise für Kompilierungstools bereitzustellen, kann es Fälle geben, in denen Sie die in diesen Anmerkungen gespeicherten Werte lesen müssen. Dieser Artikel zeigt, wie Sie dieses Ziel erreichen können.

Betrachten Sie das folgende Beispiel:

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

@Column(columnName="lastname")
private String lastName;</code>
Nach dem Login kopieren

In diesem Code werden die @Column-Annotationen verwendet, um die Spaltennamen anzugeben, die den entsprechenden Feldern zugeordnet sind. Lassen Sie uns nun auf die aufgeworfene Frage eingehen:

Können Sie den Wert der @Column-Annotation in einer anderen Klasse lesen?

Die Antwort ist bejahend. Diese Funktionalität hängt jedoch von der Aufbewahrungsrichtlinie der Anmerkung ab. Die @Column-Annotation muss RetentionPolicy.RUNTIME angeben, um den Zugriff auf ihre Werte über die Kompilierungszeit hinaus zu ermöglichen. Ändern Sie die @Column-Annotation wie folgt:

<code class="java">@Retention(RetentionPolicy.RUNTIME)
@interface Column {
    String columnName();
}</code>
Nach dem Login kopieren

Wenn die Laufzeitaufbewahrungsrichtlinie vorhanden ist, können Sie die Annotationswerte mithilfe von Reflektion abrufen. Hier ist ein Beispiel:

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

Indem Sie die Felder der MyClass-Klasse durchlaufen und die Anmerkungen jedes Felds untersuchen, können Sie die Werte der @Column-Anmerkungen extrahieren.

Hinweis: Wenn Ihre Felder als privat deklariert sind, verwenden Sie getDeclaredFields() anstelle von getFields().

Diese Methode bietet eine Möglichkeit, auf die in Anmerkungen enthaltenen Informationen zuzugreifen und diese zu verarbeiten, wodurch die Flexibilität und Erweiterbarkeit Ihres Codes erweitert wird.

Das obige ist der detaillierte Inhalt vonWie rufe ich Werte aus Anmerkungen in Java-Klassen ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!