网站首页 > 资源文章 正文
1.基本概念
- java.util.Optional<T>类本质上就是一个容器,该容器的数值可以是空代表一个值不存在,也可以是非空代表一个值存在。
2.获取对象
2.1 相关方法
static <T> Optional<T> empty() | 返回空对象 |
static <T> Optional<T> of(T value) | 根据参数指定非空数值得到对象 |
static <T> Optional<T> ofNullable(T value) | 根据参数指定数值得到对象 |
2.2 案例详解
3.获取数值
3.1 相关方法
boolean isPresent() | 有值返回true,否则返回false |
T get() | 有值返回,否则产生异常 |
void ifPresent?(Consumer<? super T> action) | 有值执行参数中的处理,无值不做处理 |
3.2 案例详解
4.处理数值
4.1 相关方法
T orElse?(T other) | 有值返回,无值返回参数值 |
T orElseGet?(Supplier<? extends T> supplier) | 有值返回,无值按照参数生成值返回 |
4.2 案例详解
5.映射数值
5.1 相关方法
<U> Optional<U> map?(Function<? super T,?? extends U> mapper) | 有值根据参数返回映射的结果,否则返回空对象 |
5.2 案例详解
6.实际应用
6.1 准备Person类
6.2 Java8以前将person对象的姓名转换为大写
6.3 Java8以后借助Optional类将person对象的姓名转换为大写
6.4 总结
- Optional类是从Java8开始引入的类,主要用于优雅的处理NPE(空指针)问题,而且不用显式进行空值检测,由范式代码改进为链式编程。
更多精彩和源码欢迎关注微信公众号《格子衫007》!
猜你喜欢
- 2024-10-28 java新特性之Optional类介绍,解决空指针问题的终极类
- 2024-10-28 Jdk14都要出了,还不能使用 Optional优雅的处理空指针?
- 2024-10-28 「Java8」 你有正确的使用 Optional吗?
- 2024-10-28 深入探讨 Pydantic 中的 Optional 和 Union 类型
- 2024-10-28 漫画:你居然不知道 Maven 中 Optional 和 Exclusions 的区别?
- 2024-10-28 Java8-关于Optional的那些事(关于java application)
- 2024-10-28 Jackson 中使用 Optional(jackson string to object)
- 2024-10-28 还在重复写空指针检查代码?考虑使用 Optional 吧
- 2024-10-28 jdk8的optional深入详解(jdk8 document)
- 2024-10-28 Java 中的 Optional(java optional.of)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)