Aujourd'hui, je voulais créer ma première interface d'annotation en suivant cette documentation et j'ai eu cette erreur de compilation
Invalid type for annotation member": public @interface MyAnnotation { Object myParameter; ^^^^^^ }
De toute évidence, Object
ne peut pas être utilisé comme type de membre d'annotation. Malheureusement, je n'ai trouvé aucune information sur les types pouvant être utilisés en général.
J'ai découvert cela en utilisant des essais et erreurs:
String
→ Valideint
→ ValideInteger
→ Invalide (Étonnamment)String[]
→ Valide (Étonnamment)Object
→ invalide
Peut-être que quelqu'un peut faire la lumière sur les types autorisés et pourquoi.