回答

收藏

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

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

写一个简单的注解定义
# R' z2 a' ]4 a. e

    $ n8 M7 g: ]+ J9 b$ K& l9 B5 V: r
  • @Target({ElementType.TYPE, ElementType.FIELD})
    6 K( |$ o, t2 w
  • @Retention(RetentionPolicy.RUNTIME)2 f: c6 _% S: D7 v0 \
  • @Inherited0 e8 M4 i. m' y
  • @Documented' J7 Y* o! ~: t. a2 `
  • public @interface MyTest {! J# n# M. z' C' L3 u6 x* J
  •     Excel[] value();}. b# ~% k; f0 h* v
然后在枚举成员变量上加上注解

    + {, U) {9 f( A3 z1 |
  • public enum UserAction {- L* _* {; S7 z' r# a$ F
  •     USER_ADD,: Z- Y; k9 O- N) T) K; @
  • . `4 Y2 G- {" q* L* ?8 s
  •     @MyTest
    $ I: X8 `9 ?; _2 \, ]7 s
  •     USER_VIEW}
    ! M2 H+ B' x, [  V; H, B
我应该怎么写反射才能拿到这个注解,我测试了 UserAction.USER_VIEW.getClass().getAnnotation(MyTest.class),获取不到,我想实现添加注解后,过滤掉枚举成员。而且奇怪的是,我在UserAction类上加@MyTest注解,编译竟然不通过,我记得ElementType.TYPE之后,是可以给枚举类加注解的吧,求大佬路过解答一下
! G0 B' Z0 K2 Y! S$ Y. h7 Z0 T6 ]
我知道答案 回答被采纳将会获得5 金钱 已有0人回答
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则