gpt4 book ai didi

java - 获取包中声明的所有 Java 类的名称

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:27:16 28 4
gpt4 key购买 nike

我正在编写一个功能,它有助于将类放入我的程序的某个包中。另外,我只想要某个类的子类。

我需要这些类以便对其调用静态方法。

是否有自动执行此操作的方法?如果是这样,速度慢吗?

如果我不清楚,我想要的是这样的:

ArrayList<Class<? extends MySuperClass>> classes = ;

classes.add(MyClass.class);
classes.add(MyClass2.class);

我不想为每个类(class)调用 add,而是希望自动获取该类(class)列表。

类的数量很少,所以如果自动技巧会很慢,我不介意手动声明它们 - 这个应用程序适用于移动平台。

无论哪种方式,我还想知道如何为 ArrayList 中的每个方法调用静态方法:

  // error The method nameOfStaticMethod is undefined for the type Class<capture#2-of ? extends MySuperClass>
classes.get(0).nameOfStaticMethod ();

感谢您的评论。

最佳答案

Java 不提供这种能力。包级别没有自省(introspection)。这些类可以是数据库中的记录,也可以是网络连接另一端的记录。不需要存储和组织它们,以便于按包枚举它们。

您可以制作自定义类加载器和 API 来提供列出类名的方法。

关于java - 获取包中声明的所有 Java 类的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4172866/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com