当前位置: 首页 > news >正文

开发避坑指南(49):Java Stream 对List中的字符串字段求和

需求

总有一些同志把数值型的字段定义成字符串型给你挖坑,那么java中如何用stream对list中的字符串类型的字段求和?

代码实现

直接上代码

int total = orderList.stream().filter(e -> StringUtils.isNotEmpty(e.getCount())).map(e -> new Integer(e.getCount())).reduce(Integer::sum).orElse(0);

语法说明
(1)stream()表示返回一个以本集合为数据源的顺序流。

(2)filte()表示对流中的每个元素进行非空过滤。

(3)map()表示对流中的每个元素执行映射转换,生成新元素组成的新流。代码中的意思是提取流中每个元素

的fee属性,将其转换为Integer类型的流。

(4)reduce()表示JavaStreamAPI中的终止操作,其核心作用是将流中的元素合并为单个结果。代码中的意思是

使用Integer的sum方法进行归约求和,返回Optional。

(5)orElse()方法表示当流为空时,reduce返回的Optional对象为空,此时orElse(0)会返回默认值0。

http://www.dtcms.com/a/390326.html

相关文章:

  • 网络编程day02-组播,广播
  • 前端左侧菜单列表怎么写
  • LLM大模型和文心一言、豆包、deepseek对比
  • stm32h743iit6 配置 FMC 的时钟源
  • 中小企业数字化转型:从工具升级到思维转变
  • 数据传输中的三大难题,ETL 平台是如何解决的?
  • DAY16 字节流、字符流、IO资源的处理、Properties、ResourceBundle
  • 电气工程师面试题及答案
  • Halcon一维码与二维码识别技术解析
  • 【数据库系统Trip 第1站】总概
  • 关于 Python 编程语言常见问题及技术要点的说明
  • Mysql常用函数积累
  • AntV可视化(MCP 1.8)避坑指南
  • 学习日报|线程池 OOM
  • C# Progress
  • 【LeetCode 每日一题】3495. 使数组元素都变为零的最少操作次数
  • Part01、02 基础知识与编程环境、C++ 程序设计
  • C++聊天系统从零到一:brpc RPC框架篇
  • Java编程思想 Thinking in Java 学习笔记——第2章 一切都是对象
  • AssemblyScript 入门教程(2)AssemblyScript的技术解析与实践指南
  • 深入理解Java数据结构
  • 【试题】网络安全管理员考试题库
  • 第一章 信息化发展
  • 第六章:实用调试技巧
  • 人工智能通识与实践 - 智能语音技术
  • CSP-S 提高组初赛复习大纲
  • 卷积神经网络CNN-part7-批量规范化BatchNorm
  • [xboard]02 uboot下载、移植、编译概述
  • Python入门教程之字符串运算
  • 堡垒机部署