Oggi ho voluto creare il mio primo interfaccia annotazione seguente this documentation ed ho ottenuto l'errore del compilatore "tipo non valido per il membro annotazione":Quali tipi possono essere utilizzati per i membri di annotazione Java?
public @interface MyAnnotation {
Object myParameter;
^^^^^^
}
Ovviamente Object
non può essere utilizzato come tipo di un membro di annotazione. Purtroppo non sono riuscito a trovare alcuna informazione su quali tipi possono essere usati in generale.
Questo ho scoperto utilizzando trial-and-error:
String
-->
Valid
int
-->
Valid
Integer
-->
Invalid (Surprisingly)
String[]
-->
Valid (Surprisingly)
Object
-->
Invalid
Forse qualcuno può far luce su quali tipi sono in realtà ammessi e perché.
forse varia in base all'annotazione: mostra il codice che stai cercando di scrivere. – djna
Aggiunto alla domanda. Ma non penso che vari. –