Java中的Optional类使用技巧

在Java中,Optional 是一个可以为null的容器对象。如果值存在则isPresent()方法返回true,调用get()方法会返回该对象。

使用Optional可以有效地防止NullPointerException。

下面是一些使用Optional的技巧:

  1. 创建Optional对象:

    复制代码
    Optional<String> optional = Optional.of("bam");
  2. 如果值存在则调用方法 :

    可以使用 ifPresent 方法在值存在时执行某个操作。

    复制代码
    optional.ifPresent((s) -> System.out.println(s.charAt(0)));
  3. 检查值是否存在 :

    使用 isPresent() 方法检查值是否存在。

    复制代码
    if (optional.isPresent()) {   
        System.out.println(optional.get());   
    } else {   
        System.out.println("No value");   
    }
  4. 使用orElse或orElseGet方法提供默认值 :

    如果值不存在,可以使用 orElse 或 orElseGet 方法提供一个默认值。

    复制代码
    String str = optional.orElse("fallback");
  5. 使用map和filter方法 :

    可以使用 map 和 filter 方法对值进行操作。例如,将一个字符串转换为大写。

    复制代码
    Optional<String> upperOptional = optional.map((s) -> s.toUpperCase());
  6. 使用flatMap方法 :
    如果值是一个集合,可以使用 flatMap 方法将多个Optional对象合并为一个。

  7. 使用orElseThrow方法抛出异常 :
    如果值不存在,可以使用 orElseThrow 方法抛出一个异常。

  8. 使用stream方法处理值 :
    可以使用 stream 方法将Optional对象转换为Stream对象,以便进行复杂的操作。例如,计算长度或过滤特定字符。

  9. 使用ifEmpty方法处理空值 :
    可以使用 ifEmpty 方法在值不存在时执行某个操作。例如,设置一个默认值或抛出一个异常。

  10. 使用or方法合并两个Optional对象:如果当前Optional对象为空,则返回另一个Optional对象。如果当前Optional对象不为空,则返回当前Optional对象。这可以用于合并两个可能都为空的Optional对象。

相关推荐
十年Java程序媛8 分钟前
Java this 与 super 详解|继承高频踩坑 + 面试题整理
java·spring boot·面试
这个DBA有点耶10 分钟前
索引建了查询却更慢——优化器选错索引与Index Merge的隐藏代价
数据库·架构·代码规范
用户77712985091212 分钟前
Stream流式使用
java
旋律41413 分钟前
List、Set、Map:三个装数据的容器,到底啥区别?怎么遍历?
java·后端
云贝贝贝15 分钟前
删了却没变小:PostgreSQL 死元组与表膨胀排查
数据库·postgresql
Wang's Blog16 分钟前
Java 项目实战: 交友项目 - 回顾和今日内容介绍
java·开发语言·交友
依晨照旧18 分钟前
Langfuse 打爆两台机器:一条分位数 SQL,在 400G 表上扫了 8 分钟
数据库
工具派20 分钟前
不重写一行老代码:给 Spring Boot 系统加一层 AI 能力
java·人工智能·spring boot
ytadpole22 分钟前
模板下载性能优化记录
后端·性能优化
大雄很用心25 分钟前
Java 数据结构基础:栈、堆与 Deque
java