我使用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());
}
}
}
}
}
暂无答案!
目前还没有任何答案,快来回答吧!