1

我正在使用 Java 的注释处理机制为我的一些类创建序列化程序。
我想检查当前处理的类的每个字段,并确保它是MyBaseSerializableClass.
我的问题是我只知道如何找到字段类型的直接超类:

TypeElement fieldType = (TypeElement)element;
TypeMirror superClassType = fieldType.getSuperclass();

我怎样才能找到超类superClassType并继续向上继承树直到我命中Object

4

1 回答 1

6

好吧,我不知道这是否是最好的方法,但这是我找到的解决方案:

Types typeUtils = processingEnv.getTypeUtils();
while (!typeElement.toString().equals(Object.class.getName())) {
        element = (TypeElement)typeUtils.asElement(element.getSuperclass());
        // do whatever with element
}
于 2013-01-30T15:49:06.183 回答