Hoy quería crear mi primera interfaz de anotación siguiente this documentation y me dieron el error del compilador "no válido para el tipo de miembro de la anotación":¿Qué tipos se pueden usar para miembros de anotación Java?
public @interface MyAnnotation {
Object myParameter;
^^^^^^
}
Obviamente Object
no se puede utilizar como tipo de un miembro de anotación. Lamentablemente, no pude encontrar ninguna información sobre qué tipos se pueden usar en general.
Esto lo descubrió usando ensayo y error:
String
-->
Valid
int
-->
Valid
Integer
-->
Invalid (Surprisingly)
String[]
-->
Valid (Surprisingly)
Object
-->
Invalid
Tal vez alguien puede arrojar algo de luz sobre lo que realmente se permiten los tipos y por qué.
posiblemente varíe por anotación - por favor muestre el código que está tratando de escribir. – djna
Agregado a la pregunta. Pero no creo que eso varíe –