Javaアノテーション
JavaアノテーションとはJDK1.5から追加されたメタデータ(関連情報)です。
このメタデータはクラス、メソッド、フィールドに付加することができます。
記述方法はコメントみたいに記述し、コンパイル時の警告抑制が可能になり、プログラムの動作自体には影響は与えません。
但し、プログラマのミスなどを防ぐためなどにアノテーションという機能があります。

記述方法は例えばメソッドであればそのメソッドの上に記述します。以下、例です。

@Override
public void findByXXX{

}
@Overrideはその名の通りオーバーライドしているメソッドであることを表します。

@Deprecated
@Deprecatedはクラスやメソッドに記述することが可能で、非推奨であることを意味します。

@SuppressWarnings
@SuppressWarningsはコンパイル時に警告を抑制するアノテーションです。
古いコレクションフレームワークの記述をしている場合は警告が出ますが、そのメソッドに@SuppressWarnings("warning")を記述すると、警告が抑制されます。

独自アノテーション
アノテーションは独自で作成することができます。これを独自アノテーションといいます。
Interfaceと似ていますが、@Interfaceと書くところが少し違います。以下、例です。

public @interface Label{
    public String getLabel();
}
独自定義したアノテーションに指定するアノテーションも存在します。これをメタアノテーションといいます。
メタアノテーションの@Targetは、このアノテーションがメソッドやクラスなどのどれに指定できるかを示すメタアノテーションです。

@Target(ElementType.METHOD)
public @interface Label{
    public String getLabel();
}
上記の場合、メソッドに指定できるアノテーションということになります。

@Target(ElementType.Type)
public @interface Label{
    public String getLabel();
}
上記は、クラスやインターフェースに使用できるアノテーションを意味します。

Back to top

Information