Java инициализирует массив аннотаций

#java #annotations

#java #аннотации

Вопрос:

Я пытаюсь инициализировать массив аннотаций, но не могу разобраться в синтаксисе.

 public @interface Tag {
    String key();
    String value();
}

@Target({ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface BaseAnnotation {

    String[] names();
    Tag[] tags();
}
  

Как вы можете видеть, BaseAnnotation имеет массив аннотаций тегов, и я хочу использовать его для аннотирования другой аннотации, подобной этой:

 @BaseAnnotation(names={"abcs", "bnm"},
tags = {key="aaa",value="bbb"}) //I can't figure out the syntax for this one
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ToBeUsedAnnotation {

}
  

Проблема в том, что я перепробовал несколько способов установки значений для тегов, но не могу найти никакой полезной документации о том, как это сделать.
Спасибо.

Комментарии:

1. tags = {@Tag(key="aaa",value="bbb"), @Tag(key="bbb", value="ccc")}

2. Хороший ответ, спасибо