《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

相关文章
|
4月前
|
Java 开发工具
【Azure Storage Account】Java Code访问Storage Account File Share的上传和下载代码示例
本文介绍如何使用Java通过azure-storage-file-share SDK实现Azure文件共享的上传下载。包含依赖引入、客户端创建及完整示例代码,助你快速集成Azure File Share功能。
411 5
|
5月前
|
IDE Java 关系型数据库
Java 初学者学习路线(含代码示例)
本教程为Java初学者设计,涵盖基础语法、面向对象、集合、异常处理、文件操作、多线程、JDBC、Servlet及MyBatis等内容,每阶段配核心代码示例,强调动手实践,助你循序渐进掌握Java编程。
644 3
|
5月前
|
安全 Java 应用服务中间件
Spring Boot + Java 21:内存减少 60%,启动速度提高 30% — 零代码
通过调整三个JVM和Spring Boot配置开关,无需重写代码即可显著优化Java应用性能:内存减少60%,启动速度提升30%。适用于所有在JVM上运行API的生产团队,低成本实现高效能。
605 3
|
4月前
|
Java 数据处理 API
为什么你的Java代码应该多用Stream?从循环到声明式的思维转变
为什么你的Java代码应该多用Stream?从循环到声明式的思维转变
300 115
|
4月前
|
安全 Java 编译器
为什么你的Java代码需要泛型?类型安全的艺术
为什么你的Java代码需要泛型?类型安全的艺术
215 98
|
5月前
|
Java
java入门代码示例
本文介绍Java入门基础,包含Hello World、变量类型、条件判断、循环及方法定义等核心语法示例,帮助初学者快速掌握Java编程基本结构与逻辑。
480 0
|
4月前
|
安全 Java 容器
告别繁琐判空:Optional让你的Java代码更优雅
告别繁琐判空:Optional让你的Java代码更优雅
|
4月前
|
安全 Java 容器
告别空指针噩梦:Optional让Java代码更优雅
告别空指针噩梦:Optional让Java代码更优雅
430 94
|
4月前
|
Java 编译器 API
java最新版和java8的区别,用代码展示
java最新版和java8的区别,用代码展示
366 43