在Java中,对List中对象的某个属性进行求和是一种常见的操作。使用Stream API可以简洁高效地实现这一目标。
// 假设有一个 List 包含了对象,对象中有 BigDecimal 类型的属性
List<PresaleybpaymonthsummarysReportResponse> res = getListOfObjects();
// 使用 Stream 计算属性的合计值
BigDecimal sum = res.stream()
.map(PresaleybpaymonthsummarysReportResponse::getCollection) // 获取每个对象的 BigDecimal 属性值
.filter(Objects::nonNull) // 过滤掉为 null 的值
.reduce(BigDecimal.ZERO, BigDecimal::add); // 将所有值累加起来
// 打印合计值
System.out.println("合计值为:" + sum);定义了一个 PresaleybpaymonthsummarysReportResponse 类,包含一个 BigDecimal 类型的属性 collection,以及相应的 getter 和 setter 方法。在 Main 类中,使用 getListOfObjects() 方法获取示例对象列表 res,你可以替换为你自己的数据源。使用 Stream API,首先通过 map() 方法将每个对象映射为其 collection 属性值。使用 filter() 方法过滤掉为 null 的值。最后使用 reduce() 方法将所有值累加起来得到合计值,并将其打印输出。
public class test { public static void main(String[] args) { &...
(1).final 修饰符通常和 static 修饰符一起使用来创建类常量。(2).父类中的 final 方法可以被子类继承,但是不能被子类重写,声明 final 方法的主要目的是防止该方法的内容被修改。public class Member {  ...
java stringBuffer(1).stringBuffer和stringBuilder区别stringBuffer是线程安全的,stringBuilder速度更快(2).简单的stringBuffer例子StringBuffer sBuffer = new&nb...
(1).java获取当前日期时间Date date = new Date(); System.out.println(date.toString());输出Fri Jul 02 10:29:55 CST 2021(2).java获取时间戳秒/毫秒D...
(1).java睡眠函数Thread.sleep(时间); //单位为毫秒(2).java睡眠函数例子Date dNow = new Date(); SimpleDateFormat ft = new&nbs...
java正则表达式的捕获组捕获组可以将匹配到的结果根据正则中的括号进行分组,这里变量我加了$符,php转java的坏习惯,懒得改了,能跑就行// 匹配字符串 String $line = "gaojiufeng 1994! ok?...