如何使用包含类名的字符串获取 Class 对象? [关闭]

Posted

技术标签:

【中文标题】如何使用包含类名的字符串获取 Class 对象? [关闭]【英文标题】:How can I get a Class object, using the String containing the class's name? [closed] 【发布时间】:2013-05-12 13:55:11 【问题描述】:

我需要从它的名字中得到一个类,像这样:

public void getClass(String nameOfClass)
  Class<?> c = Class.forName(nameOfClass); // Doesn't work
  doSomethingWith(c);

但代码不起作用。如何根据名称获取课程?

【问题讨论】:

为我工作。也许您可以告诉我们究竟什么“不起作用”,比如告诉我们您遇到了什么错误。 Getting class by its name的可能重复 【参考方案1】:

您需要将完全限定名称传递给Class.forName(String name) 方法。

这样

Class.forName("some.package.SomeClass");

【讨论】:

@kc2001 为什么需要获取 Class 实例的 Class? 'static Class> forName(String className)' 来自 javadoc:返回与具有给定字符串名称的类或接口关联的 Class 对象。 @Ivan 你是对的。我没有引起足够的重视。让我喝完这杯咖啡……

以上是关于如何使用包含类名的字符串获取 Class 对象? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

PHP 类名::class含义

反射/代理/spring AOP

如何获取对象的非限定(短)类名?

学习大数据:Java基础篇之反射

Java中通过Class类获取Class对象的方法详解

python从对象中获取类名