При использовании enum
не должно быть никаких проблем, возможно, проблема в том, как вы это объявляете, или в аннотации. Вот пример, который компилируется без проблем.
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.METHOD })
public @interface MyAnnotation {
MyEnum value();
public enum MyEnum {
ONE, TWO, THREE, FOUR
}
}
public class AnnotationTest {
@MyAnnotation(MyEnum.ONE)
public void someMethod() {
//...
}
}