《Java工程师必读手册》——Java极客主义系列——Java代码精简之道(7)

简介: 《Java工程师必读手册》——Java极客主义系列——Java代码精简之道(7)

接上篇:https://developer.aliyun.com/article/1227321?spm=a2c6h.13148508.setting.18.48e04f0eaBVGWH


七、 利用Optional

 

在Java 8里,引入了一个Optional类,该类是一个可以为null的容器对象。

 

1. 保证值存在

 

普通

 

image.png 

 

精简

 

image.png 

 

2. 保证值合法

 

普通

 

image.png 

 

精简

 

image.png 

 

3. 避免空判断

 

普通

 

image.png 

 

精简

 

image.png

 

八、 利用Stream

 

流(Stream)是Java 8的新成员,允许你以声明式处理数据集合,可以看成为一个遍历数据集的高级迭代器。流主要有三部分构成:获取一个数据源→数据转换→执行操作获取想要的结果。每次转换原有Stream对象不改变,返回一个新的Stream对象,这就允许对其操作可以像链条一样排列,形成了一个管道。流(Stream)提供的功能非常有用,主要包括匹配、过滤、汇总、转化、分组、分组汇总等功能。

 

1. 匹配集合数据

 

普通

 

image.png 

 

精简

 

image.png 

 

2. 过滤集合数据

 

普通

 

image.png 

 

精简

 

image.png 

 

3. 汇总集合数据

 

普通

 

image.png 

 

精简

 

image.png 

 

 

 

 

 

4. 转化集合数据

 

普通

 

image.png 

 

精简

 

image.png 

 

5. 分组集合数据

 

普通

 

image.png 

 

精简

 

image.png 

 

6. 分组汇总集合

 

普通

 

image.png 

 

精简

 

image.png 

 

7. 生成范围集合

 

Python的range非常方便,Stream也提供了类似的方法。

 

普通

 

image.png 

 

精简

 

image.png 

  

 接下篇:https://developer.aliyun.com/article/1227318?groupCode=java

相关文章
|
18天前
|
Java 测试技术 应用服务中间件
常见 Java 代码缺陷及规避方式(下)
常见 Java 代码缺陷及规避方式(下)
45 0
|
19天前
|
Java
Java中ReentrantLock释放锁代码解析
Java中ReentrantLock释放锁代码解析
25 8
|
21天前
|
设计模式 存储 Java
23种设计模式,备忘录模式的概念优缺点以及JAVA代码举例
【4月更文挑战第9天】备忘录模式是一种行为设计模式,它能在不破坏对象封装的前提下,捕获并保存对象的当前状态,以便后面可以恢复到这个状态。
26 0
|
4天前
|
SQL Java 数据库
java代码中调用dao层查询接口,代码没有返回数据,打印出的sql查出了数据
java代码中调用dao层查询接口,代码没有返回数据,打印出的sql查出了数据
10 1
|
5天前
|
安全 Java 开发者
Java编程:深入探索其原理、特性与实战代码
Java编程:深入探索其原理、特性与实战代码
10 1
|
5天前
|
存储 算法 Java
滚雪球学Java(20):Java泛型与枚举:提升代码灵活性与可读性
【4月更文挑战第9天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
19 1
滚雪球学Java(20):Java泛型与枚举:提升代码灵活性与可读性
|
9天前
|
Java 测试技术 持续交付
云效产品使用常见问题之通过流水线构建的java代码,在docker文件里拿到失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
15天前
|
Java 测试技术
滚雪球学Java(12):JavaSE-if条件语句入门指南:掌握代码分支流程!
【4月更文挑战第1天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
50 1
滚雪球学Java(12):JavaSE-if条件语句入门指南:掌握代码分支流程!
|
17天前
|
人工智能 Kubernetes Java
Java开发工程师如何紧跟技术前沿对于保持专业竞争力、提升工作效率以及适应行业发展?
【4月更文挑战第4天】Java开发工程师如何紧跟技术前沿对于保持专业竞争力、提升工作效率以及适应行业发展?
21 4
|
18天前
|
Java
与JShell一起舞动代码的魔法:Java9交互式编程体验
与JShell一起舞动代码的魔法:Java9交互式编程体验
31 0