java.lang.annotation.RetentionPolicy
定数SOURCE
、CLASS
、の実際的な違いをわかりやすく説明できる人はいますかRUNTIME
?
また、「注釈を保持する」というフレーズが何を意味するのか正確にはわかりません。
ベストアンサー1
RetentionPolicy.SOURCE
: コンパイル中に破棄されます。これらの注釈はコンパイルが完了した後は意味をなさないため、バイトコードには書き込まれません。
例:@Override
、@SuppressWarnings
RetentionPolicy.CLASS
: クラスのロード中に破棄します。バイトコード レベルの後処理を行う場合に便利です。意外かもしれませんが、これがデフォルトです。
RetentionPolicy.RUNTIME
: 破棄しないでください。注釈は実行時にリフレクションで使用できる必要があります。例:@Deprecated
ソース:古いURLは使用できなくなりました
ハンターメタ
そして、ハンターメタ2-098036万が一、これもダウンしてしまった場合に備えて、ページの画像をアップロードしておきます。
画像(右クリックして「新しいタブ/ウィンドウで画像を開く」を選択)