Тип перечисления как параметр аннотации? - PullRequest
0 голосов
/ 09 июля 2020

Как сделать так, чтобы мои фреймворки MyAnnotation имели определяемый пользователем тип перечисления в качестве параметра?

Like @MyAnnotation(Colors.BLUE). Другим, менее идеальным решением было бы @MyAnnotation(Colors.BLUE.getName()).

Изменить: , как в перечислении, указывается пользователем. Я попробовал Enum<?> value(), но это не сработало

1 Ответ

0 голосов
/ 09 июля 2020

Вы можете явно указать свой элемент перечисления при определении аннотации для соответствующего типа.

enum MyEnum {
    MY_ELEMENT
}
@interface MyAnnotation {

    MyEnum value();

}
@MyAnnotation(value = MyEnum.MY_ELEMENT)
class MyClass {
    
}
...