[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-java-8-kak-opredelit-povtoryaemuyu-annotatsiyu":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":16,"progress":17,"seo":18},391,"kak-opredelit-povtoryaemuyu-annotatsiyu",10,"java-8","Java 8+","☕","Как определить повторяемую аннотацию?","Повторяемая аннотация (repeatable annotation) — это аннотация, которую можно применить к одному элементу несколько раз. Для её создания необходимо определить аннотацию-контейнер и пометить повторяемую аннотацию мета-аннотацией `@Repeatable`.\n\n```java\n\u002F\u002F 1. Аннотация-контейнер (хранит массив повторяемых аннотаций)\n@interface Schedulers {\n    Scheduler[] value();\n}\n\n\u002F\u002F 2. Повторяемая аннотация с указанием контейнера\n@Repeatable(Schedulers.class)\n@interface Scheduler {\n    String birthday() default \"Jan 8 1935\";\n}\n\n\u002F\u002F 3. Использование\n@Scheduler(birthday = \"Jan 1 2000\")\n@Scheduler(birthday = \"Dec 25 1990\")\nclass Person { }\n```\n\nКомпилятор автоматически оборачивает несколько экземпляров `@Scheduler` в контейнер `@Schedulers`. Для чтения повторяемых аннотаций через рефлексию используются методы `getAnnotationsByType()` (возвращает массив повторяемых аннотаций) и `getAnnotation()` (возвращает контейнер).\n\n> **На собеседовании:** ключевое — объяснить, зачем нужна аннотация-контейнер и связь через `@Repeatable`. Без контейнера компилятору негде хранить несколько экземпляров одной аннотации.","","middle",[15],"java8",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":23,"featuredSnippetReady":24},"Как определить повторяемую аннотацию? — Gymterview","Повторяемая аннотация (repeatable annotation) — это аннотация, которую можно применить к одному элементу несколько раз. Для её создания необходимо определить ан","Повторяемая аннотация (repeatable annotation) — это аннотация, которую можно применить к одному элементу несколько раз. ",[15,13],"Повторяемая аннотация (repeatable annotation) — это аннотация, которую можно применить к одному элементу несколько раз. Для её создания необходимо определить аннотацию-контейнер и пометить повторяемую аннотацию мета-аннотацией `@Repeatable`.",true]