使用stream流计算list中BigDecimal类型字段和值
list.stream().map(LandTransaction::getAreaCount).reduce(BigDecimal.ZERO, BigDecimal::add);
此方法如果遇到字段值为null的情况会报错,所以需要重写求和的方法
public class BigDecimalSum {public static BigDecimal ifNull(BigDecimal value) {if (value != null) {return value;} else {return BigDecimal.ZERO;}}public static BigDecimal sum(BigDecimal ...value){BigDecimal result = BigDecimal.ZERO;for (int i = 0; i < value.length; i++){result = result.add(ifNull(value[i]));}return result;}
}
使用上面方法后:
list.stream().map(LandTransaction::getAreaCount).reduce(BigDecimal.ZERO,BigDecimalSum::sum);
使用stream流计算list中BigDecimal类型字段和值相关推荐
- Java中BigDecimal类型的加减乘除及大小比对
Java中BigDecimal类型的加减乘除及大小比对 前言 BigDecimal解释 创建BigDecimal类型 加减乘除计算 结果分析 结论 除法的补充 两个BigDecimal的比对 前言 在 ...
- java中BigDecimal类型数据大小比较
一 概述 在Java中会存在数值的比较,在进行金额计算的时候,一般会通过BigDecimal类型的数字进行计算. 二 BigDecimal类型数据大小比较 if(numOne.compareTo(nu ...
- java byte 查找_在 stream流 和 byte[] 中查找(搜索)指定字符串
在 stream流 和 byte[] 中查找(搜索)指定字符串 这里注重看的是两个 Search 的扩展方法,一个是 stream类型的扩展,另一个是 byte[] 类型的扩展, 如果大家有更好的&q ...
- 流计算过程中对于窗口的处理方式
前言 与传统批处理作业方式不同,实时流的计算处理过程是连续的.所以当我们在流式作业中要做传统的阶段统计工作(求和,取均值计算)的时候,需要在逻辑上对这些数据进行分片,然后再处理.本文我们来聊聊流计算过 ...
- C语言中不同类型的取值范围
C语言中的不同类型的取值范围 前言 C语言中,我们知道最基本的数据类型有int整型,float和double浮点型,char字符型,在计算机里,他们的取值并不是任意和无限的,都有相应的取值范围,那么计 ...
- MYSQL中TIMESTAMP类型的默认值
MYSQL中TIMESTAMP类型的默认值 MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样. 1.自动UPDATE 和INSERT 到当前的时间: 表: ---------- ...
- C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法...
C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法 原文:C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决 ...
- ORACLE中date类型字段的处理
ORACLE中date类型字段的处理 (1)在英文版本的ORACLE中默认日期格式为'DD-MON-YY',例如'01-JAN-98' 在汉化的中文版本中ORACLE默认日期格式为'日-月-年',例如 ...
- server sql 中类型为bit应该插入什么值_关于SQL Server中bit类型字段增删查改的一些事...
前言 本文主要给大家介绍了关于SQL Server中bit类型字段增删查改的一些事,话说BIT类型字段之前,先看"诡异"的一幕,执行Update成功,但是查询出来的结果依然是1,而 ...
最新文章
- fastcopy会损坏硬盘_电脑硬盘损坏如何修复?自己动手就能解决
- C++中数字和字符串类型的转换
- 操作系统(2) -- 进程管理
- 代码单元测试:gtest
- MathType 换行后无法对齐,怎么都对不齐!!!强迫症晚期(见图)
- FortiGate双链路不同运营商上网配置
- es system call filters failed to install; check the logs and fix your configuration or disable syste
- MATLAB中的for循环
- mysql单库tps_简单计算mysql 的QPS,TPS
- UnityShader19:渲染纹理(上)之截屏功能实现
- 安卓电视硬件测试软件,据说这是2017 最好用的智能电视软件!
- 人人开源-后台前后端快速开发
- 转载:camera - 滤镜格式 (原生RGGB、RCCB、RCCC、RGB-IR和Monochrome(单色传感器))
- java 自定义 转换器_自定义类型转换器
- 《思考的技巧》- 学习总结
- mysql count(0)_sql中count(0)是什么意思?
- 软件智能:aaas系统 基于本体论的AI通用框架
- 弘辽科技:网店点击率低怎么办?点击率多少正常?
- CDH启用kerberos认证问题导致GSS initiate failed
- springboot导入后Spring包飘红问题解决
热门文章
- 怎么解决安装windows系统无法创建新的分区的问题
- 网络空间问题之缺乏动态评估、安全开发、非对称攻防以及可信空间构造能力的问题
- 跨年烟花但是飘零半生
- jenkins - Manage and Assign Roles
- 基于GHOST-A的AI视频换脸
- 对 Ubuntu_18.04 安装之后出现的WIFI,亮度,声音问题的解决
- 中秋送祝福山寨网页终于完成,分享学习心得!
- 数理逻辑—一阶逻辑等值式与前束范式
- Java开发私教_笃学私教:7年Java开发(月薪37K)分享正确的自学路线,不喜勿喷...
- JAVA的一些小知识点