回答

收藏

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

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

写一个简单的注解定义0 |; a3 p' o/ h) S
    5 _0 t% c8 n  t( E
  • @Target({ElementType.TYPE, ElementType.FIELD}): D# u  g- L1 J5 p0 Z
  • @Retention(RetentionPolicy.RUNTIME)
    / q4 L8 U# |( ^! \+ \
  • @Inherited
    ; m( T6 Q9 s& U2 m1 s% H) r: n0 i
  • @Documented
    ! v0 w4 @  N& y/ f) b* V' W) w% L- q. t
  • public @interface MyTest {3 t* N9 L% Q4 Y' s! K
  •     Excel[] value();}" s5 \7 I7 X1 \6 F0 c% y/ S4 @& H
然后在枚举成员变量上加上注解

    / K; }7 e! D2 l
  • public enum UserAction {5 {  _& k1 x; u2 H3 j" n, {
  •     USER_ADD,4 g1 c1 E" k7 D& P, A$ k
  • 9 P! I5 {0 [; R. l, K5 S4 t# S) r2 ^
  •     @MyTest
    2 I% S  s* T9 \4 X
  •     USER_VIEW}
    6 {+ m. e6 w5 W: ]. n
我应该怎么写反射才能拿到这个注解,我测试了 UserAction.USER_VIEW.getClass().getAnnotation(MyTest.class),获取不到,我想实现添加注解后,过滤掉枚举成员。而且奇怪的是,我在UserAction类上加@MyTest注解,编译竟然不通过,我记得ElementType.TYPE之后,是可以给枚举类加注解的吧,求大佬路过解答一下

& `8 v. |, ~  X( ~3 q( w& e我知道答案 回答被采纳将会获得5 金钱 已有0人回答
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则