Dal doc Java:politica annotazione SOURCE Retention
CLASSE: annotazioni devono essere registrati nel file di classe dal compilatore, ma non è necessaria la conservazione dalla VM in fase di esecuzione.
RUNTIME: Le annotazioni devono essere registrate nel file di classe dal compilatore e conservate dalla VM in fase di esecuzione, in modo che possano essere lette in modo riflessivo.
FONTE: Le annotazioni devono essere scartate dal compilatore.
Capisco gli usi di autonomia (per usare l'annotazione con la riflessione) e CLASS (per il compilatore), ma non capisco quando può essere utile per utilizzare
@Retention (RetentionPolicy. SOURCE)
Puoi spiegare?
e perché non RetentionPolicy.CLASS? – JohnJohnGa
+1: alcune annotazioni utilizzate dal compilatore sono ritenzione CLASS. –
Questi non sono necessari nel ByteCode (nel file .class). – gkamal