如何在java中将String类型转换为Class类型

我想打印包中的所有类名,并在每个包中打印相应的属性及其数据类型。

在一个代码中,我能够以字符串的forms获取类名。 在另一个代码中,我能够使用Classname.class.getAttribute();获取属性及其数据类型Classname.class.getAttribute();

但是我想合并这两个代码。 因为在第一个代码中我得到了字符串forms的类名,所以我不能使用Classname.class.getAttribute()因为这里Classname的类型是String

所以我想要一个将“Classname”从String类型转换为Class类型的方法。

我尝试了Class.forName()但它没有用。

 Class classType = Class.forName(className); 

确保className是完全限定的类名,如com.package.class此外,请分享您看到的错误消息。

如果类的完全限定名称可用,则可以使用静态方法Class.forName()获取相应的Class。

例如:

 Class c = Class.forName("com.duke.MyLocaleServiceProvider"); 

注意:确保为函数提供的参数是完全限定的类名,如com.package.class

点击这里查看任何参考。

编辑:

您也可以尝试使用loadClass()方法。

例如:

  ClassLoader cl; Class c = cl.loadClass(name); 

它由Java虚拟机调用以解析类引用。

句法:

 public Class loadClass(String name) throws ClassNotFoundException 

有关ClassLoader的详细信息,请点击此处

这是ClassLoader的一个实现。

请尝试以下。

 String str = "RequiredClassName"; Class  Cref = Class .forName("PackageNaem."+str );