Class clazz = product.getClass();
Field[] fields = clazz.getDeclaredFields();//获得属性
try{
for (Field field : fields) {
PropertyDescriptor pd;
try{
pd = new PropertyDescriptor(field.getName(),clazz);
}catch(Exception e){
continue;
}
String fieldName = field.getName();
String type = field.getType().toString();
Method getMethod = pd.getReadMethod();//获得get方法
Object o = getMethod.invoke(product);//执行get方法
if(null != o){
System.out.println(field + " : " +o);
for(Item item : Items){
Class itemclass = item.getClass();
try{
Method method = itemclass.getMethod("set" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1), field.getType());
method.invoke(item, o);
}catch(Exception e){
break;
}
}
}
}
}catch(Exception e){
e.printStackTrace();
}
反射备忘
最新推荐文章于 2022-02-16 23:42:17 发布