如何从Java中的类名称获取类对象

我知道该类的名称,说 并且想检索该Class对象。

供将来参考。有没有办法做到这一点?

我已经浏览了整个网络,但发现与之相关的大多数内容都与有关ClassLoader,我认为这不适合我的情况。我不想初始化一个类,而只是获取一个类对象以备将来使用。

编辑:关于此的第一个答案:

我已经检查了该forName()方法,但我认为这也应该初始化该类。现在,我可以使用完整参数来调用它,并传递false给第二个参数,但是第三个必须是null或什么?

Class.forName("MyClass", false, null);

回报MyClass.class

实际上,我想做的是将与Class对象关联的字符串ID数组替换为从中自动获取类对象的ID数组,以摆脱一些手动工作:)

感谢您的快速解答,也很抱歉没有在此之前提及。

回答:

您可以使用:

Class c = Class.forName("com.package.MyClass");

然后实例化一个对象:

Object obj = c.newInstance();

编辑:这只是最简单的用例。如注释中所示,您将需要考虑初始化过程引发的构造函数参数和异常。该对JavaDoc中newInstance有所有的细节。

以上是 如何从Java中的类名称获取类对象 的全部内容, 来源链接: utcz.com/qa/406278.html

回到顶部