MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

java8-Optional类使用介绍

2025-01-09 13:09 huorong 精选文章 4 ℃ 0 评论

一、介绍

Optional 类 是Java 8中引入的一个用于处理 null 值的容器类。它封装了某个类型的值,这个值可以是null,也可以是非null,通过它可以更优雅和简洁地处理包含null值的对象。
Optional类的官方定义:

二、特点

三、类概览


四、创建方式

  1. empty() 方法,将EMPTY赋值给一个新的 Optional 对象,EMPTY其实就是 new Optional<>(); 看私有构造方法 Optional(),其实就是把 value 设置成 null。
  2. of() 方法,就是调用的私有构造方法 Optional(T value),这个方法会调用 Objects.requireNonNull(value) ,这个方法会去判空,如果空就抛异常,非空就把对象返回。
  3. 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

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言