共计 1296 个字符,预计需要花费 4 分钟才能阅读完成。
Java 中的 Optional 类是用来处理可能为 null 的对象的容器类。它提供了一种优雅的方式来处理可能为空的值,避免了出现 NullPointerException。
使用 Optional 类主要有以下几个步骤:
-
创建 Optional 对象:可以使用静态方法
Optional.of()
或者Optional.ofNullable()
来创建 Optional 对象。Optional.of()
方法要求传入的对象不能为 null,如果传入 null 会抛出 NullPointerException;Optional.ofNullable()
方法可以接受 null 作为参数。 -
判断对象是否为 null:可以使用
isPresent()
方法来判断 Optional 对象中是否存在非 null 的值。 -
获取对象的值:可以使用
get()
方法来获取 Optional 对象中的值。在调用get()
方法之前,最好先调用isPresent()
方法进行判断,以避免抛出 NoSuchElementException 异常。 -
判断对象是否为空:可以使用
isEmpty()
方法来判断 Optional 对象中是否为空。如果 Optional 对象中的值为 null,则判断为空。 -
使用默认值:可以使用
orElse()
方法来获取 Optional 对象中的值,如果值为空,则返回指定的默认值。 -
使用函数处理值:可以使用
map()
方法来对 Optional 对象中的值进行变换处理。该方法接受一个函数作为参数,并将函数应用于 Optional 对象中的值,返回一个新的 Optional 对象。
下面是一个使用 Optional 类的简单示例:
Optional<String> optional = Optional.of("Hello World");
System.out.println(optional.isPresent()); // 输出 true
System.out.println(optional.get()); // 输出 "Hello World"
System.out.println(optional.isEmpty()); // 输出 false
Optional<String> optional2 = Optional.ofNullable(null);
System.out.println(optional2.isPresent()); // 输出 false
System.out.println(optional2.orElse("Default Value")); // 输出 "Default Value"
Optional<String> optional3 = Optional.of("Hello");
Optional<String> result = optional3.map(s -> s + " World");
System.out.println(result.get()); // 输出 "Hello World"
需要注意的是,Optional 类并不是用来替代 null 的,而是用来处理可能为 null 的情况。在使用 Optional 类时,最好将其与其他的 null 检查和处理方法结合使用,以达到更好的效果。
丸趣 TV 网 – 提供最优质的资源集合!