Hoy quería crear mi primera interfaz de anotación siguiendo esta documentación y recibí este error de compilación
Invalid type for annotation member": public @interface MyAnnotation { Object myParameter; ^^^^^^ }
Obviamente Objectno se puede usar como tipo de miembro de anotación. Lamentablemente, no pude encontrar ninguna información sobre qué tipos se pueden utilizar en general.
Esto lo descubrí usando prueba y error:
String→ Válidoint→ VálidoInteger→ Inválido (Sorprendentemente)String[]→ Válido (Sorprendentemente)Object→ Inválido
Quizás alguien pueda arrojar algo de luz sobre qué tipos están realmente permitidos y por qué.