同じ注釈を持つクラスを 2 回定義することは可能ですか?
たとえば、 @interface アノテーションがあります
@Annotation(value = 1)
@Annotation(value = 2)
public class MyClass{
}
同じ注釈を持つクラスを 2 回定義することは可能ですか?
たとえば、 @interface アノテーションがあります
@Annotation(value = 1)
@Annotation(value = 2)
public class MyClass{
}
はい、Wrapper-Annotation を定義する必要があります:
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Target({ElementType.TYPE})
public @interface AnotationList {
Anotation[] value () default {};
}
次に、次のように使用できます。
@AnotationList({
@Anotation(value = 1),
@Anotation(value = 2)
})
public class MyClass{
}
@Annotations
値が の配列である別の注釈を定義できます@Annotation
。
public @interface Annotations
{
public Annotation[] value();
}
として使用されます
@Annotations
(
{
@Anotation(value = 1)
, @Anotation(value = 2)
}
)
public class MyClass {
}