作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我知道类名,例如 "MyClass" 并想检索 Class
对象,即。 MyClass.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();
编辑:这只是最简单的用例。如注释中所述,您将需要考虑初始化过程引发的构造函数参数和异常。 JavaDocs for newInstance
有所有的细节。
关于java - 如何从 Java 中的类名中获取类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1438420/
我是一名优秀的程序员,十分优秀!