Optional 是一个 Java 8 引入的类,它的作用是表示一个可能为 null 的值。使用 Optional 可以让代码更加简洁,避免出现空指针异常。下面是一些 Optional 的用法示例:

  1. 创建一个包装了可能为 null 值的 Optional 对象:

    Optional<String> optional = Optional.ofNullable(someString);
    

    这里的 someString 可能为 null,使用 Optional.ofNullable() 方法可以将它包装成一个 Optional 对象。

  2. 判断一个 Optional 对象是否包含非 null 值:

    if (optional.isPresent()) {
        // ...
    }
    

    如果 optional 对象包含了一个非 null 值,那么可以使用 isPresent() 方法进行判断。

  3. 如果 Optional 包含非 null 值,则使用该值执行某些操作:

    optional.ifPresent(value -> doSomething(value));
    

    这里的 doSomething() 方法会被传入 optional 对象中的非 null 值执行。

  4. 如果 Optional 不包含非 null 值,则返回一个默认值:

    String defaultValue = "default value";
    String value = optional.orElse(defaultValue);
    

    如果 optional 对象中包含了非 null 值,则返回该值;否则返回 defaultValue

  5. 如果 Optional 不包含非 null 值,则抛出一个自定义的异常:

    String value = optional.orElseThrow(() -> new CustomException("value is null"));
    

    如果 optional 对象中包含了非 null 值,则返回该值;否则抛出一个 CustomException 异常,异常信息为 "value is null"