我有一个枚举器和一个表示枚举器描述的自定义注释:
public @interface Description {
String name() default "";
}
枚举器:
public enum KeyIntermediaryService {
@Description(name="Descrizione WorldCheckService")
WORLDCHECKSERVICE,
@Description(name="blabla")
WORLDCHECKDOWNLOAD,
@Description(name="")
WORLDCHECKTERRORISM,
// ...
}
如何从另一个类中获取枚举器描述?
最佳答案
像这样,例如获取 WORLDCHECKSERVICE
枚举值的描述:
Description description = KeyIntermediaryService.class
.getField(KeyIntermediaryService.WORLDCHECKSERVICE.name())
.getAnnotation(Description.class);
System.out.println(description.name());
不过,您必须将注释的保留策略更改为运行时:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@interface Description {
String name() default "";
}
关于java - 从枚举常量中获取注解值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40970830/