独自アノテーションの作成
アノテーションの宣言は @interface キーワードを用います。
また、java.lang.annotation.Annotationを暗黙的に継承する為、別のアノテーション
を継承させるといった使い方はできません。
①メンバを持たないアノテーション
public @interface AnnotationTest { }
②1つのメンバを持つアノテーション
public @interface AnnotationTest { String value(); }
特にメンバが1つの場合、valueというメンバを定義します。
③複数のメンバを持つアノテーション
public @interface AnnotationTest { int id(); String[] names(); String comment() default "no comment."; // デフォルトを指定すると省略できる AnnotationTypeEnum type(); // 列挙型 } public enum AnnotationTypeEnum { TYPE_1, TYPE_2, TYPE_3 }
※.列挙型を指定した例
※.デフォルト値を指定すると省略可能。(デフォルト値の指定には、defaultキーワードを使う。)
また、メソッドの戻り値には、プリミティブ型、String、Class、列挙型、アノテーション型
しか指定できないとのこと。