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方法提供默认值

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

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

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

    复制代码
    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对象。

相关推荐
2601_9622184713 分钟前
万象生鲜系统区块链溯源技术帮助生鲜企业搭建食品安全数字化体系
大数据·运维·微服务·云原生·架构
zlwool29 分钟前
图纸管理选型避坑指南
数据库·erp·设备erp·非标机械
东方-教育技术博主41 分钟前
自动编码在教育场景中的重要性:一项基于多源证据的深度综述
大数据·人工智能
liuqs3321 小时前
机器人产业加速发展,制造业正在迎来新的自动化探索
大数据·人工智能
腾讯云大数据1 小时前
DataBuddy数据语义驱动的企业Agent Runtime实践
大数据·人工智能·腾讯云·agent
EXI-小洲1 小时前
Java 操作 Word:字符串替换、图片插入、动态生成表格与API接口下载
java·开发语言·spring boot·word
cvcode_study1 小时前
Ollama+ComfyUI 多模态
大数据·人工智能·python
会周易的程序员1 小时前
给 PLC 写一个字节码虚拟机:STVM 虚拟机架构设计
开发语言·c++·虚拟机·软plc·iec61131·stvm
机器视觉知识推荐、就业指导2 小时前
为什么老说“纯 Qt 没啥就业市场”?
开发语言·qt
telepan2 小时前
Qt 开发避坑与性能指南:如何优雅、安全地定义全局常量字符串?
开发语言·qt