java—如何使用javaparser获取外部和内部类中的变量?

3mpgtkmj  于 2021-07-03  发布在  Java
关注(0)|答案(0)|浏览(856)

我使用javaparser获取类中所有变量的名称。我使用了voidvisitoradapter类并重写了调用类fielddeclaration的参数的visit方法。所以我可以访问并获取类中所有变量的名称。
但是,它提供了所有变量,包括内部类中的变量。因此,当它解析helloworld1.java时,它会提取主类+内部类的变量。
有没有一种方法或者一个特定的类只获取主类的变量,而获取其他内部类的变量?

public class UseJavaParser {

    static String FILE_PATH = "C:\\Users\\User\\Desktop\\HelloWorld1.java";

    public static void main(String[] args) throws Exception {

        CompilationUnit cu = StaticJavaParser.parse(new FileInputStream(FILE_PATH));

        VoidVisitor<?> FieledVaribalsNames = new FieledVaribalsNames();
        FieledVaribalsNames.visit(cu, null);

        // class to extract the Varibals Names of void method and ovride the visit
        // method
        public static class FieledVaribalsNames extends VoidVisitorAdapter<List<String>> {

            @Override
            public void visit(FieldDeclaration n, List<String> collector) {

                List<VariableDeclarator> myVars = n.getVariables();

                for (VariableDeclarator vars : myVars) {
                    System.out.println("Fieled Variable Names: " + vars.getNameAsString());

                }

            }
        }

    }
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题