账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Java 8 中,怎么获取枚举成员上添加的注解?
    32
    0
    写一个简单的注解定义@Target({ElementType.TYPE, ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)@Inherited@Documentedpublic @interface MyTest { Excel[] value();}然后在枚举成员变量上加上注解public enum UserAction { USER_ADD, @MyTest USER_VIEW}我应该怎么写反射才能拿到这个注解,我测试了 UserAction.USER_VIEW.getClass().getAnnotation(MyTest.class),获取不到,我想实现添加注解后,过滤掉枚举成员。而且奇怪的是,我在UserAction类上加@MyTest注解,编译竟然不通过,我记得ElementType.TYPE之后,是可以给枚举类加注解的吧,求大佬路过解答一下
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 懂我的人捅我 普通会员 1楼

      在Java 8中,你可以使用@Value注解来获取枚举成员上添加的注解。这个注解用于设置枚举成员的默认值。

      以下是一个例子:

      ```java enum Color { RED("red"), GREEN("green"), BLUE("blue");

      private final String value;
      
      Color(String value) {
          this.value = value;
      }
      
      @Value
      public static Color fromValue(String value) {
          return Color.valueOf(value);
      }
      

      } ```

      在这个例子中,我们定义了一个枚举Color,并为它添加了一个@Value注解,这个注解会设置Color枚举成员的默认值为RED

      然后,你可以在你的代码中通过Color.fromValue("red")来获取枚举成员的默认值。

      注意,@Value注解只能用于枚举成员,不能用于枚举类型本身。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部