非実行時アノテーションの存在を再帰的にチェックしている試みを報告します。

Class.isAnnotationPresent() を使用して、保持ポリシーがSOURCE または CLASS (デフォルト) に設定されているアノテーションをテストすると、常に否定的な結果になります。 この間違いは見落としがちです。

例:


  {
    getClass().isAnnotationPresent(SourceAnnotation.class); //常に false
  }

  @Retention(RetentionPolicy.SOURCE)
  @interface SourceAnnotation {}