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