1
繰り返し可能なアノテーションを使用すると、method.isAnnotationPresent()の呼び出しが正しく機能していないことがわかります。isAnnotationPresent()が@ Repeatableアノテーションで動作しない
繰り返し可能なアノテーションを使用すると、method.isAnnotationPresent()の呼び出しが正しく機能していないことがわかります。isAnnotationPresent()が@ Repeatableアノテーションで動作しない
奇妙なことは、注釈を1つしか使用しない場合は機能していますが、複数の注釈を付けると機能しないということです。 問題は、複数の注釈がある場合、メソッドは実際にすべての繰り返し可能な注釈(@ Repable値で示された注釈)を含む注釈を1つ持っていることです。
これは、複数の注釈がコンテナ注釈にラップされるためです。 https://docs.oracle.com/javase/tutorial/java/annotations/repeating.htmlの '@ Schedule'の例では、' isAnnotationPresent'が '@Schedules'アノテーションのために真であることがわかります。 1つ以上。これは単なるコンパイラのトリックですが、実際には複数のアノテーションを持つことはできません。 – zapl