Сегодня я хотел создать свой первый интерфейс аннотации после этой документации, и я получил эту ошибку компилятора
Invalid type for annotation member": public @interface MyAnnotation { Object myParameter; ^^^^^^ }
Очевидно, что Object
нельзя использовать как тип элемента аннотации. К сожалению, я не смог найти никакой информации о том, какие типы могут быть использованы в целом.
Об этом я узнал методом проб и ошибок:
-
String
→ Действительный -
int
→ Действительный -
Integer
→ Неверно (Удивительно) -
String[]
→ Действительный (Удивительно) -
Object
→ Неверно
Возможно, кто-то может пролить свет на то, какие типы действительно разрешены и почему.