事情是这样的:我在网上整了一个List转List《Map》的方法,具体方法是这样的:
public <T> List<Map<String,Object>> listConvert1(List<T> list){
List<Map<String,Object>> list_map=new ArrayList<Map<String,Object>>();
try {
for (T t : list) {
Field[] fields=t.getClass().getDeclaredFields();
Map<String, Object> m = new HashMap<String, Object>();
for(Field field:fields){
String keyName=field.getName();
PropertyDescriptor pd = new PropertyDescriptor(keyName,t.getClass());
Method getMethod = pd.getReadMethod();// 获得getter方法
Object o = getMethod.invoke(t);// 执行get方法返回一个Object
m.put(keyName, o);
}
list_map.add(m);
}
return list_map;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
然而在我使用的时候 给我爆出了异常,
java.beans.IntrospectionException: Method not found: isSerialVersionUID
at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:106)
at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:70)
巴拉巴拉···大致上就是这样,当我查看错误代码的时候,直接给我跳到了
PropertyDescriptor pd = new PropertyDescriptor(keyName,t.getClass()); 这一行。
在网上找了很多关于这样的问题都是无济于事,到底是哪里出了错那? 因为本人是个小白所以这算是一个非常头疼的问题了,大佬们如果有什么解决方法,不妨说一下,万分感谢。