用反射获取类属性值并且赋值
/** * * @projectname 项目名称: cms-interface * @packageclass 包及类名: com.jy.modules.utils.CreditUtil.java * @description 功能描述: Object 可以是任意对象在不确定对象的时候获取值设置值 * @author 作 者: zhouzhiwei * @param 参 数: @param Requestobj * @param 参 数: @param obj * @param 参 数: @return * @param 参 数: @throws Exception * @return 返回类型: Object * @createdate 建立日期: 2015年11月3日下午7:05:04 */ @SuppressWarnings({ "unchecked", "rawtypes", "unused" }) public static Object getObjectVale(Object Requestobj, Object obj) throws Exception { Class clazz = obj.getClass() ;//得到类 clazz=clazz.getSuperclass(); //得到父类 Class Request = Requestobj.getClass() ;//得到类 Request=Request.getSuperclass(); //得到父类 Method method1 = clazz.getDeclaredMethod("setRetTime", String.class) ;//根据set方法set值(setRetTime方法名) method1.invoke(obj, DateUtil.getDefaultCurrentTime()) ; Method method2 = clazz.getDeclaredMethod("setFrontTransNo", String.class) ; method2.invoke(obj, getFieldValue(Requestobj,Request,"frontTransNo")) ; Method method3 = clazz.getDeclaredMethod("setCollateralTransNo", String.class) ; method3.invoke(obj, SerialNoGenUtil.getSerialNo(getFieldValue(Requestobj,Request,"frontTransNo"))) ; return obj ; } /** * * @projectname 项目名称: cms-interface * @packageclass 包及类名: com.jy.modules.utils.CreditUtil.java * @description 功能描述: 获取属性值 * @author 作 者: zhouzhiwei * @param 参 数: @param obj * @param 参 数: @param cal * @param 参 数: @param name * @param 参 数: @return * @param 参 数: @throws Exception * @return 返回类型: String * @createdate 建立日期: 2015年11月3日下午7:09:45 */ @SuppressWarnings("rawtypes") public static String getFieldValue(Object obj,Class cal,String name) throws Exception{ Field field=cal.getDeclaredField(name);//根据key获得属性 field.setAccessible(true);//设置访问权限私有的 String val= (String) field.get(obj);//取属性值 return val; }