2013-03-25 52 views
2

是否有任何简单的方法来实现此目的。在java中调用该类,使用字符串中类的名称

比方说,我有串与POJO的名称的数组中有我“米试图打印属性的所有清单,有没有办法实现这个容易吗?\

String [] nameofClass; 
for(String name:nameofClass) 
name.class.getDeclaredFields(); 

谢谢

+0

你看过BeanUtils吗? – BigMike 2013-03-25 16:10:37

+0

POJO_的_name是指变量的名称还是类的本身? – 2013-03-25 16:23:31

+0

班级的名字。 – 2013-03-25 17:51:50

回答

9

for循环中Class.forName(name).getDeclaredFields()可能是你在找什么。

注意name应的类的完整路径,即不仅TheClass但是the.package.to.TheClass

+0

谢谢,这工作! – 2013-03-25 17:51:22

0

是的,你可以。看下面给出的例子:

 String [] nameofClass = {"java.lang.Object","java.lang.Thread"};//Give complete path of the class 
     try{ 
      for(String name : nameofClass) 
      { 
       Class cl = Class.forName(name); 
       System.out.println(cl); 
       System.out.println("\t"+java.util.Arrays.toString(cl.getDeclaredFields())); 
      } 
     }catch(Exception ex){System.out.println(ex);} 
相关问题