通过反射的方式,将一个对象的属性值赋值到另外一个对象相同名称的属性值上:
//实体类反射 public static Object initDtobyDto(Object t1, Object t2) { Class ct1 = (Class) t1.getClass(); Class ct2 = (Class) t2.getClass(); Field[] fs = ct1.getDeclaredFields(); Field[] nfs = ct2.getDeclaredFields(); for(int i = 0 ; i < fs.length; i++){ Field f = fs[i]; f.setAccessible(true); //设置些属性是可以访问的 Object val = new Object(); try { val = f.get(t1);//得到此属性的值 }catch(IllegalAccessException e){ logger.error("initDtobyDto:",e); } for(int j = 0; j < nfs.length; j++){ Field nf = nfs[j]; nf.setAccessible(true); //设置些属性是可以访问的 if(f.getName().equals(nf.getName())){ try { nf.set(t2, val); }catch(IllegalAccessException e){ logger.error("initDtobyDto:",e); } } } } return t2; }