网站首页 > 精选文章 / 正文
一、介绍
Optional 类 是Java 8中引入的一个用于处理 null 值的容器类。它封装了某个类型的值,这个值可以是null,也可以是非null,通过它可以更优雅和简洁地处理包含null值的对象。
Optional类的官方定义:
二、特点
三、类概览
四、创建方式
- empty() 方法,将EMPTY赋值给一个新的 Optional 对象,EMPTY其实就是 new Optional<>(); 看私有构造方法 Optional(),其实就是把 value 设置成 null。
- of() 方法,就是调用的私有构造方法 Optional(T value),这个方法会调用 Objects.requireNonNull(value) ,这个方法会去判空,如果空就抛异常,非空就把对象返回。
- ofNullable() 方法,就是先判断 value 是否为空,如果是空的,就调用 empty() 方法,返回一个 value 为空的 Optional 对象,如果不为空,就调用 of() 方法返回一个 value 不为空的 Optional 对象。
五、常见方法
1.get() 方法
当你需要从一个可能为空的对象中获取值时,可以使用 Java 中的 Optional 类。下面是一个简单的示例,演示了如何使用 Optional 的 get 方法:
2.isPresent() 方法
当你想要检查 Optional 对象中是否存在值时,可以使用 Optional 类的 isPresent 方法。下面是一个简单的示例,演示了如何使用 isPresent 方法:
3.orElse() 方法
当你想要从 Optional 对象中获取值,但如果该对象为空时提供一个默认值时,可以使用 Optional 类的 orElse 方法。下面是一个简单的示例,演示了如何使用 orElse 方法:
4.orElseGet() 方法
当你需要在 Optional 对象为空时,通过一个 Supplier 函数来生成默认值时,可以使用 Optional 类的 orElseGet 方法。下面是一个简单的示例,演示了如何使用 orElseGet 方法:
5.map() 方法
当你想要对 Optional 对象中的值进行转换或处理时,可以使用 Optional 类的 map 方法。下面是一个简单的示例,演示了如何使用 map 方法:
6.flatMap() 方法
当你需要对 Optional 对象中的值进行转换,并且转换操作返回的是另一个 Optional 对象时,可以使用 Optional 类的 flatMap 方法。下面是一个简单的示例,演示了如何使用 flatMap 方法:
7.filter() 方法
当你想要根据某个条件对 Optional 对象中的值进行过滤时,可以使用 Optional 类的 filter 方法。下面是一个简单的示例,演示了如何使用 filter 方法:
Tags:java8 flatmap
猜你喜欢
- 2025-01-09 精通Spring Boot 3 : 9. Spring Boot 安全 (3)
- 2025-01-09 精通Spring Boot 3 : 7. Spring Boot 响应式 (1)
- 2025-01-09 别挠了,都快秃了,双因素认证我直接告诉你算了
- 2025-01-09 Java 中的 Optional
- 2025-01-09 知识总结-Java开发指Optional详解
- 2025-01-09 精通Spring Boot 3 : 7. Spring Boot 响应式 (2)
- 2025-01-09 读图数据库实战笔记08遍历与子图
- 2025-01-09 Java8中的Stream API详细分析
- 2025-01-09 学习Java 8 Stream Api (2) - Stream的中间操作
- 2025-01-09 讲解JDK从8以后(包含8)各个版本的各种新特性