Java 在运行时从包中获取绝对类名

Java 在运行时从包中获取绝对类名,java,Java,如果我们有一个包名,就说com.google.foo.bar并且它有如下类 com.google.foo.bar.xyz com.google.foo.bar.abc 如何在运行时获取这些名称?绝对的,我的意思是。。。包名+类名。有什么术语吗?公共字符串getSourceBase(classx类) public String getSourceBase(Class<?> classx) { String cn = classx.getName().replace('.',

如果我们有一个包名,就说
com.google.foo.bar
并且它有如下类

com.google.foo.bar.xyz

com.google.foo.bar.abc

如何在运行时获取这些名称?绝对的,我的意思是。。。包名+类名。有什么术语吗?

公共字符串getSourceBase(classx类)
public String getSourceBase(Class<?> classx)
{
    String cn = classx.getName().replace('.', '/') + ".class";
    // like "packagex/SourceBase.class"

    String s = classx.getResource('/' + cn).toExternalForm();
    // like "file:/javadir/Projects/projectX/build/classes/packagex/SourceBase.class"
    // or "jar:file:/opt/java/PROJECTS/testProject/dist/testProject.jar!/px/SourceBase.class"

    return s.substring(0, s.lastIndexOf(cn));
    // like "file:/javadir/Projects/projectX/build/classes/"
    // or "jar:file:/opt/java/PROJECTS/testProject/dist/testProject.jar!/"

}
{ 字符串cn=classx.getName().replace('.','/')+“.class”; //比如“packagex/SourceBase.class” 字符串s=classx.getResource('/'+cn).toExternalForm(); //比如“文件:/javadir/Projects/projectX/build/classes/packagex/SourceBase.class” //或者“jar:file:/opt/java/PROJECTS/testProject/dist/testProject.jar!/px/SourceBase.class” 返回s.substring(0,s.lastIndexOf(cn)); //比如“文件:/javadir/Projects/projectX/build/classes/” //或者“jar:file:/opt/java/PROJECTS/testProject/dist/testProject.jar!” }
您的意思是:如何在运行时获取特定包中包含的所有类的列表?或者您只是想在运行时获得特定对象的完全限定类名(package.ClassName)?@assylias-所有类的列表。。可能是一个起点。问题是我将从配置文件中读取一个包名,基于此,我需要找到所有具有包名的类。