zoukankan      html  css  js  c++  java
  • 用反射获取类属性值并且赋值

    /**
         * 
         * @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;
        }
        
  • 相关阅读:
    androidstudio gradle下载速度慢
    paddlex 使用-11 实例图像分割
    paddlex 使用-10 语义图像分割
    redis C# Windows下测试环境
    CSS Flex弹性布局(多个div自动换行)
    扩展排序后重新编号
    纯css制作的打勾(√)小图标
    layui表格-template模板的三种用法
    VB中各种数据类型转换函数
    将ACCESS 的数据库中的表的文件 导出了EXCEL格式
  • 原文地址:https://www.cnblogs.com/yy123/p/4934100.html
Copyright © 2011-2022 走看看