Можно ли указать значение по умолчанию для поля аннотации другого типа аннотации? - PullRequest
6 голосов
/ 06 февраля 2012
public @interface InnerAnnotation {
    String value() default "hello";
}

public @interface OuterAnnotation {
    InnerAnnotation value() default ???
}

И еще один корпус :

public @interface AnotherOuterAnnotation {
    InnerAnnotation[] value() default ??? UPD: {} 
}

1 Ответ

9 голосов
/ 06 февраля 2012

Да, возможно:

public @interface InnerAnnotation {
    String value() default "hello";
}

public @interface OuterAnnotation {
    InnerAnnotation value() default @InnerAnnotation(value = "Goodbye");
}
...