アノテーションオブジェクトの生成
アノテーションAnnoのオブジェクトは@Annoが付与されているクラスやメソッドに対応するClassやMethodオブジェクトについてAnnotatedElement#getAnnotation(Anno.class)を呼び出すことで取得できるが、新たに生成したいことがある(かもしれない)。
そこでいろいろ試してみた。
まずこれ。
Anno anno = Anno.class.newInstance();
これはあえなくInstantiationException。
んで次はこれ。
Constructor<?>[] constructors = Anno.class.getConstructors();
System.out.println(constructors.length);
この結果は「0」。そもそもコンストラクタがないのね…。
というわけで、姑息な手段を使うはめに。
@Anno public class AnnotationProvider { } ... public class AnnocationProviderTest { public static void main(String[] args) { Anno anno = AnnotationProvider.class.getAnnotation(Anno.class); } }
全く解決になってない…。