我有一堂课
public class SomeClass {
@CustomAnnotation1
String stringProperty = "LALALA";
@CustomAnnotation1
int integerProperty;
@CustomAnnotation1
ClassObject classObject;
}
CustomAnnotation1 是我定义的自定义注释,可以放在任何字段上。假设类ClassObject
是这样的
public class ClassObject {
@CustomAnnotation1
public String someOtherString;
public String log;
}
我想要实现的- 如果我的注释放在任何不是原始类型的字段上,我想访问该类的所有字段。
我的方法- 获取所有用 注释的字段CustomAnnotation1
,遍历所有字段,如果它是非原始的,则获取该类和进程中的所有字段。
我已经尝试过- 我能够使用我的AbstractProcessor
类中的以下代码来获取所有用我的注释进行注释的元素。
Collection<? extends Element> annotatedElements = roundEnvironment.getElementsAnnotatedWith(CustomAnnotation1.class);
List<VariableElement> variableElements = ElementFilter.fieldsIn(annotatedElements);
问题-
- 我对这个
VariableElement
类进行了很多研究,但无法找到一种方法来检查该字段是否是原始的。这可以做到吗? - 有没有更好的方法来实现这一目标?