这很可能是一种非常低效,an肿,不便的方式来完成您要实现的目标,希望已经有了一种现成的,单一的方式来实现目标……但是应该可以。
基本上,扫描类路径中的每个类,直到找到
getSimpleName()与您所拥有的类名称匹配的类。
我建议您查看Google Classpath Explorer,以帮助您进行管理。
它可能看起来像这样:
ClassPath classpath = new ClassPathFactory().createFromJVM(); RegExpResourceFilter regExpResourceFilter = new RegExpResourceFilter(".*", ".*\.class"); String[] resources = classpath.findResources("", regExpResourceFilter);resources是一个字符串数组,例如“ com / foo / bar /
Baz.class”。现在,您可以简单地循环查找匹配的条目,并将其从斜杠转换为点分,删除“ .class”等。请谨慎尝试匹配内部类,因为它们中将带有“
$”字符。
而且,据我所知,这 不会 导致那些类被加载。



