回答

收藏

Java 8 中,怎么获取枚举成员上添加的注解?5金钱.anslist{background:url(

技术问答 技术问答 496 人阅读 | 0 人回复 | 2023-09-11

写一个简单的注解定义+ s( _/ C: n0 c. \6 \3 q# \  f; ?6 a
    " F& l/ q, a8 x' {1 G, ?
  • @Target({ElementType.TYPE, ElementType.FIELD}), R5 F: n4 Y# w6 A  \) S" S& B
  • @Retention(RetentionPolicy.RUNTIME)  J5 n: I. b: r: k8 g1 H
  • @Inherited
    % X0 p  \$ I6 U1 L% {% i5 V+ {
  • @Documented
    . j; G* l7 P' ]" l. e/ }
  • public @interface MyTest {1 E# J, r* R2 T. E
  •     Excel[] value();}9 O: K6 ~" z, ?) }+ ~2 W
然后在枚举成员变量上加上注解
    & Q8 \' k0 {* O; `2 L" ?* H
  • public enum UserAction {' W. |" a1 C/ k5 H/ }6 \2 w
  •     USER_ADD,/ b" u- x0 W- A5 S7 n1 C
  • ) l9 m/ |0 `8 R( C! C/ h$ V
  •     @MyTest+ D" `: y$ L3 \6 }& X) _
  •     USER_VIEW}
    + \( u* q# r  ^
我应该怎么写反射才能拿到这个注解,我测试了 UserAction.USER_VIEW.getClass().getAnnotation(MyTest.class),获取不到,我想实现添加注解后,过滤掉枚举成员。而且奇怪的是,我在UserAction类上加@MyTest注解,编译竟然不通过,我记得ElementType.TYPE之后,是可以给枚举类加注解的吧,求大佬路过解答一下
# Y7 y/ F* m: Z" K
我知道答案 回答被采纳将会获得5 金钱 已有0人回答
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则