我想检查任何带注释的类的祖先是否真的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);
}