Sobes.tech
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:

  1. SOURCE — Die Annotation ist nur im Quellcode verfügbar und wird vom Compiler entfernt. Sie erscheint nicht in der kompilierten Klassen-Datei.

  2. CLASS — Die Annotation wird in der kompilierten Klasse gespeichert, ist aber während der Laufzeit über Reflection nicht zugänglich. Dies ist das Standardverhalten.

  3. 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();
}