鉴于我有一个带有简单类名的字符串:
String className = "myClassName";
我确定在下面的某个地方有一个具有此名称的类:
"com.automation.qa.company.tests...."
我怎样才能得到这个类的规范名称?请帮助我找到 Java 中的最佳解决方案。
鉴于我有一个带有简单类名的字符串:
String className = "myClassName";
我确定在下面的某个地方有一个具有此名称的类:
"com.automation.qa.company.tests...."
我怎样才能得到这个类的规范名称?请帮助我找到 Java 中的最佳解决方案。
创建一个方法,将可能的包名添加到指定的类名中,然后检查它是否可以使用Class.forName(...)
.
下面是一个示例,它将搜索当前类加载器可访问的所有包。您可能希望在其中放置一个过滤器,以便仅在可访问包的特定部分下搜索您的类。
public String findClass( String shortName) {
for (Package pack : Package.getPackages()) {
try {
String resolvedName = pack.getName() + "." + className;
Class class = Class.forName(resolvedName);
return resolvedName;
} catch (ClassNotFoundException e) {
// intentionally blank
}
}
return null;
}