我需要使用 Javaparser 的 getExtendedType 方法查找一个类是否继承了其他类。有人可以为此指出正确的语法以及递归查找它的逻辑。
假设 A 类扩展 B 类,B 类又扩展 C 类,我想从 A 开始并到达 C 类。
谢谢。
我需要使用 Javaparser 的 getExtendedType 方法查找一个类是否继承了其他类。有人可以为此指出正确的语法以及递归查找它的逻辑。
假设 A 类扩展 B 类,B 类又扩展 C 类,我想从 A 开始并到达 C 类。
谢谢。
您可以使用 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);