在JavaParser中获取继承类的名称

在JavaParser中获取继承类的名称,java,javaparser,Java,Javaparser,在我的示例中,我有如下内容: public class Example extends Random, Math {...} compilationUnit.getNodesByType(FieldDeclaration.class).stream(). filter(f -> f.getModifiers().contains(PUBLIC) && !f.getModifiers().contains(STATIC)). fo

在我的示例中,我有如下内容:

public class Example extends Random, Math {...} 
compilationUnit.getNodesByType(FieldDeclaration.class).stream().
    filter(f -> f.getModifiers().contains(PUBLIC) && 
            !f.getModifiers().contains(STATIC)).
    forEach(f -> System.out.println("Check field at line " + f.getBegin().get().line));
使用JavaParser,我想获得在“extends”关键字后面的类的名称

我怎么做

在JavaParser的网站上,我发现了如下内容:

public class Example extends Random, Math {...} 
compilationUnit.getNodesByType(FieldDeclaration.class).stream().
    filter(f -> f.getModifiers().contains(PUBLIC) && 
            !f.getModifiers().contains(STATIC)).
    forEach(f -> System.out.println("Check field at line " + f.getBegin().get().line));
或者应该在visit()方法中完成


谢谢你的建议。

你只需要寻找方法


来源:我是JavaParser提交者

您可以使用此代码非常有用:

public class inheritedClasses extends VoidVisitorAdapter<Void> {

//If you use a file which contained java code source
 private static final String FILE_PATH ="//put the path of your file here;if your file is in the same package use just src/main.... but if it is in another package use the whole path "; 

   public void visit(ClassOrInterfaceDeclaration cid , Void arg){
        super.visit(cid,arg);
       //I guess you just want to print the inherited class's name at the console
          System.out.println(""+cid.getExtendedTypes());
  }

public static void main(String[] args){

  CompilationUnit cu = StaticJavaParser(new File(FILE_PATH));

    VoidVisitor<Void> methodinherts = new inheritedClasses();
        methodinherts.visit(cu,null);  




}



}
公共类继承类扩展了VoidVisitorAdapter{
//如果您使用包含java源代码的文件
private static final String FILE_PATH=“//将文件的路径放在这里;如果文件在同一个包中,只使用src/main….但如果它在另一个包中,则使用整个路径”;
公共作废访问(ClassOrInterfaceDeclaration cid,作废参数){
超级访问(cid,arg);
//我猜您只是想在控制台上打印继承的类的名称
System.out.println(“+cid.getExtendedTypes());
}
公共静态void main(字符串[]args){
CompilationUnit cu=StaticJavaParser(新文件(文件路径));
VoidVisitor methodinherts=新的继承类();
methodinherts.visit(cu,null);
}
}

谢谢!这对我很有帮助。