Какие типы могут использоваться для участников аннотации Java?

Я часто беру лучший из обоих миров и создаю приложение в IIS и использую созданный в веб-сервере для более эффективной отладки.

219
задан Daniel Rikowski 3 July 2019 в 19:34
поделиться

2 ответа

Это указано в разделе 9.6.1 JLS . Типы членов аннотации должны быть одним из:

  • примитив
  • Строка
  • Перечисление
  • другое Аннотации
  • массив любого из вышеперечисленных
  • Класса

Это кажется ограничивающим, но без сомнения, для этого есть причины.

Также обратите внимание, что многомерные массивы (например, String [] [] ) неявно запрещены указанным выше правилом.

Массивы класса не разрешены, как описано в этот ответ .

299
ответ дан 23 November 2019 в 04:10
поделиться

Я согласен со Скаффманом относительно доступных типов.

Дополнительное ограничение: это должна быть константа времени компиляции .

Например, следующие запрещены:

@MyAnnot("a" + myConstantStringMethod())
@MyAnnot(1 + myConstantIntMethod())
58
ответ дан 23 November 2019 в 04:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: