回答編集履歴

2 一文字変数は許されません。

smk7758

smk7758 score 34

2018/02/04 22:54  投稿

```java
for (Annotation a : this.getClass().getAnnotations()) {
   System.out.println("Type: " + a.annotationType().getName());
   if (a.annotationType().equals(Description.class)) {
          Description b = (Description) a;
          System.out.println("Value: " + b.value());
for (Annotation annotation : this.getClass().getAnnotations()) {
   System.out.println("Type: " + annotation.annotationType().getName());
   if (annotation.annotationType().equals(Description.class)) {
          Description description = (Description) annotation;
          System.out.println("Value: " + description.value());
   }
}
```
リフレクションですね。(こちら事情ですが、携帯からなので打ちづらい)
thisを任意クラスのオブジェクトにすることで可能です。
thisを任意クラスのオブジェクト, Descriptionを任意の注釈にすることで可能です。
またvalue()のように値を返すメソッドがない場合は別の対応が必要です。(privateフィールドにアクセスかなぁ)
1 追記です。

smk7758

smk7758 score 34

2018/02/04 22:50  投稿

```java
for (Annotation a : this.getClass().getAnnotations()) {
         System.out.println("Type: " + a.annotationType().getName());
         if (a.annotationType().equals(Description.class)) {
             Description b = (Description) a;
             System.out.println("Value: " + b.value());
         }
      }
   System.out.println("Type: " + a.annotationType().getName());
   if (a.annotationType().equals(Description.class)) {
          Description b = (Description) a;
          System.out.println("Value: " + b.value());
   }
}
```
リフレクションですね。(こちら事情ですが、携帯からなので打ちづらい)
リフレクションですね。(こちら事情ですが、携帯からなので打ちづらい)
thisを任意クラスのオブジェクトにすることで可能です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る