0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【JavaGold】アノテーション

Last updated at Posted at 2025-01-08

アノテーション

主なアノテーション 説明
@￰Override スーパークラスのメソッドをオーバーライドすることを示す
@￰FunctionalInterface 関数型インターフェースであることを示す
@￰Deprecated 非推奨の要素であることを示す
@￰SuppressWarnings コンパイラの警告を無効にする
@￰SafeVarargs 安全でない可変長引数に対する警告を無視する
警告のオン/オフ
非推奨のメソッドの宣言側 非推奨のメソッドの呼び出し側 警告のオン/オフ
@Deprecated @￰SuppressWarningsなし オン
@Deprecated @￰SuppressWarnings("deprecation") オフ
@Deprecated(forRemoval = "true") @￰SuppressWarnings("deprecation") オン
@Deprecated(forRemoval = "true") @￰SuppressWarnings("removal") オフ

メタアノテーション

主なアノテーション 説明
@￰Documented Javadoc API ドキュメントの出力にも反映するようにする
@￰Target アノテーションを付与する要素を限定する
@￰Retention アノテーションをソースコードもしくはクラスファイルまで保持するかなどを制御する
@￰Inherited サブクラスにアノテーションを引き継ぐことを示す
@￰Repeatable 同じ場所に複数回適用する
RetentionPolicyの列挙子
種類 内容
CLASS アノテーションに関する情報はクラスファイルには残っているものの、実行時に破棄される。クラスファイルに事前処理するようなプログラムを作るときに使用する
RUNTIME 実行時までアノテーションに関する情報を保持する。実行時にアノテーションを処理をするために使用する
SOURCE コンパイル時にアノテーションに関する情報は破棄される。コンパイラにアノテーションを処理させたいときに使用する。
実装例
public @interface Sample {}

@Targetアノテーションを指定しなかった場合は下記がアノテーションの対象になる。

  • クラス
  • メソッド
  • フィールド
  • コンストラクタ
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?