获取枚举类型变量的批注

2022-09-01 04:19:04

我有一些非变量(例如)的枚举类型。问题是:如何获得变量引用的枚举常量相关的注释?nullen1en1


答案 1

试试这个(java反射):

String field = En.AAA.name();
En.class.getField(field).getAnnotations();

它应该从 中获取注释。AAA

编辑:

正如作者所说:

en1.getClass().getField(((Enum)en1).name()).getAnnotations(); 

为他工作:)


答案 2

正如我已经提供的那样:

en1.getClass().getField(((Enum)en1).name()).getAnnotations();

为了更清楚:

String name = e.name(); // Enum method to get name of presented enum constant
Annotation[] annos = e.getClass().getField(name).getAnnotations(); // Classical reflection technique

在这种情况下,我们不需要知道真正的类。en1

另请参阅:关于混淆案例的备注