Aujourd'hui, je voulais créer ma première interface d'annotation suivante cette documentation et j'ai obtenu cette erreur de compilation
Invalid type for annotation member": public @interface MyAnnotation { Object myParameter; ^^^^^^ }
Évidemment Object
ne peut pas être utilisé comme type d'un membre d'annotation. Malheureusement, je n'ai pas pu trouver d'informations sur les types qui peuvent être utilisés en général.
Je l'ai découvert par essais et erreurs :
-
String
Valable -
int
Valable -
Integer
Invalide (de manière surprenante) -
String[]
Valable (de manière surprenante) -
Object
Invalide
Peut-être quelqu'un peut-il nous éclairer sur les types de produits qui sont effectivement autorisés et pourquoi.
0 votes
Il est possible que cela varie selon l'annotation - veuillez montrer le code que vous essayez d'écrire.
2 votes
Ajouté à la question. Mais je ne pense pas que ça varie.