• 用反射获取类属性值并且赋值


    /**
         * 
         * @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;
        }
        
  • 相关阅读:
    nefu 628 Garden visiting
    codeforces 814 C. An impassioned circulation of affection 【尺取法 or DP】
    bzoj 2111: [ZJOI2010]Perm 排列计数 (dp+卢卡斯定理)
    Codeforces Round #423 (Div. 2)
    hdu 5955 Guessing the Dice Roll 【AC自动机+高斯消元】
    poj1322 Chocolate 【 概率DP 】
    poj 3414 Pots 【BFS+记录路径 】
    hdu5194 DZY Loves Balls 【概率论 or 搜索】
    51nod 1515 明辨是非 [并查集+set]
    hdu 1175 连连看 [DFS]
  • 原文地址:https://www.cnblogs.com/yy123/p/4934100.html
Copyright © 2020-2023  润新知