Назад к вопросам
Junior — Middle
62
Каким образом аннотация становится доступной в процессе выполнения программы?
Ответ от нейросети
sobes.tech AI
Аннотация становится доступной во время выполнения программы, если она объявлена с политикой сохранения (RetentionPolicy) RUNTIME. Это указывается с помощью мета-аннотации @Retention:
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String value();
}
Если аннотация имеет RetentionPolicy.RUNTIME, то её можно получить через Reflection API:
Class<?> clazz = MyClass.class;
if (clazz.isAnnotationPresent(MyAnnotation.class)) {
MyAnnotation annotation = clazz.getAnnotation(MyAnnotation.class);
System.out.println(annotation.value());
}
Таким образом, чтобы аннотация была доступна во время выполнения, она должна быть объявлена с @Retention(RetentionPolicy.RUNTIME).