zoukankan      html  css  js  c++  java
  • 将List集合中,含有BigDeciam字段求和

      该方法采用反射创建对象,并进行赋值,将List<T>,中含有BigDecimal字段的值求和,并赋值到新的对象中对应的字段上。

      代码如下:

     @SneakyThrows
        public static <T> T convertListValueToObjectValue(List responses, Class<T> clazz) {
            Object object = clazz.newInstance();
            Class<?> aClass = object.getClass();
            Field[] declaredFields = aClass.getDeclaredFields();
            for (Field declaredField : declaredFields) {
                if ("java.math.BigDecimal".equals(declaredField.getType().getName())) {
                    declaredField.setAccessible(true);
                    for (Object row : responses) {
                        Field[] rowFields = row.getClass().getDeclaredFields();
                        for (Field rowField : rowFields) {
                            if ("java.math.BigDecimal".equals(rowField.getType().getName()) && rowField.getName().equals(declaredField.getName())) {
                                rowField.setAccessible(true);
                                BigDecimal tem = (BigDecimal) rowField.get(row);
                                BigDecimal dst = (BigDecimal) declaredField.get(object);
                                declaredField.set(object, tem.add(dst));
                            }
                        }
                    }
                }
            }
            return (T) object;
        }
    作者:张九星
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    java架构之路-(面试篇)Mysql面试大全
    web工程的路径问题详解
    SQL知识点总结
    Mybatis简介
    mysql大全
    配置心得
    spring4.1.3+springmvc+mybatis3.2.1整合
    jstl标签
    jstl标签库
    Java并发控制机制
  • 原文地址:https://www.cnblogs.com/orchid9/p/14368351.html
Copyright © 2011-2022 走看看