日期:2014-05-20  浏览次数:20888 次

很困扰,求解答
第一天上班,组长布置任务如下:
给一个Object,获取了里面的所有属性字段(getDeclaredFields()),一个Field数组。要根据每个Field来创建相应的类。
  以下是我尝试性的代码,结果在objs[i]=Class.forName(sql)一行报ClassNotFound异常。
  public Object[] get(Object object){
Class c=object.getClass();
Field[] fields=c.getDeclaredFields();
Object[] objs=new Object[fields.length];
for(int i=0;i<fields.length;i++){
String sql=fields[i].toString();
try {
objs[i]=Class.forName(sql);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
System.out.println(objs[i].toString());
}

return objs;
}

------解决方案--------------------
objs[i]=Class.forName(sql)一行报ClassNotFound异常。

就是没有sql这个字符串的类嘛,你把 sql打出来看看,是否存在这个类 ,Field 只是一个名字,怎么会做成一个类完整路径 ?