我需要使用Javaparser的getExtendedType方法查找类是否继承了其他类。有人可以为此指出正确的语法,也可以为递归地找到它的逻辑。
假设A类扩展了B类,而B类又扩展了C类,我想从A开始并达到C类。
谢谢。
答案 0 :(得分:1)
您可以使用VoidVisitorAdabter使用此代码,方法是像这样在编译单元中调用此访问者:
cu.accept(new VoidVisitorAdapter<Void>() {
@Override
public void visit(ClassOrInterfaceDeclaration n, Void arg) {
Iterator extendedClassesItr = n.getExtendedTypes().iterator();
while (extendedClassesItr.hasNext()) {
ClassOrInterfaceType extendedClass = (ClassOrInterfaceType) extendedClassesItr.next();
if(extendedClass.getNameAsString().equals("your class name")) {
//you now have your class that you look for
}
}
}, null);