为了账号安全,请及时绑定邮箱和手机立即绑定

如何枚举包中的所有类并将它们添加到列表中?

如何枚举包中的所有类并将它们添加到列表中?

红糖糍粑 2019-10-21 10:10:48
我需要枚举包中的所有类并将它们添加到列表中。单个类的非动态版本如下所示:List allClasses = new ArrayList();allClasses.add(String.class);如何动态地将所有类添加到包及其所有子包中?更新:阅读了早期的答案后,我正在尝试解决另一个次要问题,这是绝对正确的,所以让我说一下。我知道这是可能的,因为其他工具也可以做到。在这里看到新问题。更新:再次阅读本文,我可以了解它是怎么被误读的。编译后,我希望从文件系统中枚举所有MY PROJECT'S类。
查看完整描述

3 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

当前列出给定包中所有类的最健壮的机制是ClassGraph,因为它可以处理最广泛的类路径规范机制,包括新的JPMS模块系统。(我是作者。)


List<String> classNames;

try (ScanResult scanResult = new ClassGraph().whitelistPackages("my.package")

        .enableClassInfo().scan()) {

    classNames = scanResult.getAllClasses().getNames();

}


查看完整回答
反对 回复 2019-10-21
  • 3 回答
  • 0 关注
  • 514 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信