【发布时间】:2020-12-20 05:02:45
【问题描述】:
我有一个 .java 类的路径,比如“./src/module/car.java”,我像这样解析它:
File sourceFileCar = new File("./src/module/car.java");
CompilationUnit cuCar = StaticJavaParser.parse(sourceFileCar);
如何在不知道car.java文件的情况下获取类名(不能使用cuCar.getClassByName)
【问题讨论】:
-
没有使用过JavaParser,但looking at the API 似乎您想使用
#getType(int)或#getTypes()来获取TypeDeclaration,然后您可以调用#getFullyQualifiedName()或#getName()on,具体取决于您是否需要完全限定名称或简单名称。 -
您必须使用
getTypes()并对其进行迭代,因为编译单元(即源文件)可以包含多个顶级类型/类。您可能认为它只有一个,因为javac编译器每个编译单元只接受一个public顶级类,但一个可以有任意数量的非公共类。
标签: java parsing javaparser