Junior — Middle
Welche Arten von @Retention-Annotationen kennst du und worin unterscheiden sie sich?
sobes.tech KI
Antwort von AI
In Java bestimmt die Annotation @Retention, wie lange die Annotation gespeichert wird und während der Programmausführung verfügbar ist. Es gibt drei Haupttypen von RetentionPolicy:
-
SOURCE — Die Annotation ist nur im Quellcode verfügbar und wird vom Compiler entfernt. Sie erscheint nicht in der kompilierten Klassen-Datei.
-
CLASS — Die Annotation wird in der kompilierten Klasse gespeichert, ist aber während der Laufzeit über Reflection nicht zugänglich. Dies ist das Standardverhalten.
-
RUNTIME — Die Annotation wird in der Klasse gespeichert und ist während der Laufzeit über Reflection zugänglich. Wird für Annotations verwendet, die das Verhalten des Programms zur Laufzeit beeinflussen.
Beispiel:
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String value();
}