2

我想检查是否有任何带注释的类的祖先实际上是android.support.v4.app.Fragment.

目前我写了一个递归方法来做到这一点。

我想知道是否有更好的方法来做到这一点?

主要目的是限制我的注释被添加到任何类中。

我也用squareup.javapoet.

private boolean isSubClass(TypeElement typeElement, ClassName superClassName) {
    TypeElement superTypeElement = (TypeElement) ((DeclaredType) typeElement.getSuperclass()).asElement();

    if (superTypeElement.toString().equals(Object.class.getName())) {
        return false;
    } else if (superTypeElement.toString().equals(superClassName.reflectionName())) {
        return true;
    }

    return isSubClass(superTypeElement, superClassName);
}
4

0 回答 0