異なる保持ポリシーは注釈にどのような影響を与えますか? 質問する

異なる保持ポリシーは注釈にどのような影響を与えますか? 質問する

java.lang.annotation.RetentionPolicy定数SOURCECLASS、の実際的な違いをわかりやすく説明できる人はいますかRUNTIME?

また、「注釈を保持する」というフレーズが何を意味するのか正確にはわかりません。

ベストアンサー1

  • RetentionPolicy.SOURCE: コンパイル中に破棄されます。これらの注釈はコンパイルが完了した後は意味をなさないため、バイトコードには書き込まれません。
    例: @Override@SuppressWarnings

  • RetentionPolicy.CLASS: クラスのロード中に破棄します。バイトコード レベルの後処理を行う場合に便利です。意外かもしれませんが、これがデフォルトです。

  • RetentionPolicy.RUNTIME: 破棄しないでください。注釈は実行時にリフレクションで使用できる必要があります。例:@Deprecated

ソース:古いURLは使用できなくなりました ハンターメタ そして、ハンターメタ2-098036万が一、これもダウンしてしまった場合に備えて、ページの画像をアップロードしておきます。

画像(右クリックして「新しいタブ/ウィンドウで画像を開く」を選択) Oracle Webサイトのスクリーンショット

おすすめ記事