java反射机制

来源:互联网 发布:用户行为数据分析模型 编辑:程序博客网 时间:2024/06/06 17:48

http://www.cnblogs.com/absfree/p/5277665.html


使用ReflectUtils工具类使用如下:

 /**     * 遍历current,查看每个current下的RevenueSubDetail,如果发现RevenueSubDetail下的属性值为0.00的话,将属性改为0     *      * @param rsd              要访问的RevenueSubDetailDto类实例     * @return 修改RevenueSubDetail属性之后的RevenueSubDetailDto     * @author 王帆     */    private RevenueSubDetailDto updateAttributeOfRevenueSubDetail(RevenueSubDetailDto rsd) {        if (rsd != null && rsd.getData() != null && rsd.getData().isEmpty() == false) {            for (RevenueSubDetail c : rsd.getData()) {                for (RevenueSource revenueSource : RevenueSource.values()) {                    try {                        String s = (String) ReflectUtils.getGetterMethod(RevenueSubDetail.class, revenueSource.getTag())                            .invoke(c);                        if (s.trim().equals("0.00")) {                          ReflectUtils.getSetterMethod(RevenueSubDetail.class, revenueSource.getTag()).invoke(c, "0");                        }                    } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {                        log.warn("get revenue exception", e);                    }                }            }            return rsd;        } else {            return rsd;        }    }


0 0
原创粉丝点击