yur*_*rib 1 java apt annotations
我正在使用Java的Annotation Processing机制为我的一些类创建序列化器.
我想检查当前处理的类的每个字段,并确保它是它的子类MyBaseSerializableClass.
我的问题是我只知道如何找到字段类型的直接超类:
TypeElement fieldType = (TypeElement)element;
TypeMirror superClassType = fieldType.getSuperclass();
Run Code Online (Sandbox Code Playgroud)
我怎样才能找到超级类superClassType并继续上升继承树直到我命中Object?
我不知道这是不是最好的方法,但这是我找到的解决方案:
Types typeUtils = processingEnv.getTypeUtils();
while (!typeElement.toString().equals(Object.class.getName())) {
element = (TypeElement)typeUtils.asElement(element.getSuperclass());
// do whatever with element
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
471 次 |
| 最近记录: |