Zugriff auf Annotationswerte in Java
Java-Annotationen bieten einen Mechanismus zum Hinzufügen von Metadaten zu Codeelementen wie Klassen, Methoden und Feldern. Standardmäßig sind Anmerkungen nur während der Kompilierung verfügbar und werden zur Laufzeit verworfen. Durch Angabe des RetentionPolicy.RUNTIME-Werts in der Retention-Annotation können Sie jedoch Anmerkungen zur Laufzeit beibehalten.
Zugriff auf Annotationswerte aus einer anderen Klasse
Wenn eine Annotation das hat Mit der Aufbewahrungsrichtlinie RetentionPolicy.RUNTIME können Sie die Java-Reflektion verwenden, um deren Wert aus einer anderen Klasse zu lesen. So geht's:
<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>
Zugriff auf private Felder
Die Methode getFields() ruft nur öffentliche Felder ab. Um auf private Felder zuzugreifen, verwenden Sie stattdessen getDeclaredFields():
<code class="java">for (Field field : clazz.getDeclaredFields()) { ... }</code>
Das obige ist der detaillierte Inhalt vonWie greife ich zur Laufzeit in Java auf Anmerkungswerte zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!