Java中的Optional类使用技巧

2023-12-29 21:26:56

在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对象。

文章来源:https://blog.csdn.net/apixixi/article/details/135294815
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。