JavaDoc dice quanto segue:Differenza tra campo # getAnnotations() e campo # getDeclaredAnnotations()
AccessibleObject#getDeclaredAnnotations:
Restituisce tutte le annotazioni che sono direttamente presenti su questo elemento. A differenza degli altri metodi in questa interfaccia, questo metodo ignora le annotazioni ereditate. (Restituisce un array di lunghezza zero se non ci sono annotazioni direttamente presenti su questo elemento.) Il chiamante di questo metodo è libero di modificare l'array restituito; non avrà alcun effetto sugli array restituiti ad altri chiamanti.
restituisce tutte le annotazioni presenti su questo elemento. (Restituisce una matrice di lunghezza zero se questo elemento non ha annotazioni.) Il chiamante di questo metodo è libero di modificare l'array restituito; non avrà alcun effetto sugli array restituiti ad altri chiamanti.
Dal getAnnotations
è ereditato dalla classe java.lang.reflect.AccessibleObject
, avere gli oggetti campo accesso ad esso.
Come ho capito è l'unica differenza tra loro che getDeclaredAnnotations
ignora annotazioni ereditate. L'ho capito quando mi occupo di Classi, ma per quanto ne so i Field NON possono ereditare annotazioni.
Come si applica a 'Field'? Anche OP afferma: "Ho capito che quando si ha a che fare con Classes_ –
so come funziona con Class ma non ottengo campo. ma grazie per aver sottolineato che ho ignorato l'errore –
grazie per aver aggiornato lo snippet, ma non vedo ancora differenze tra i metodi troppo ... –