2024-05-22 14:32

Optional.ofNullable(T value).orElse(T other)

王姐姐

JavaEE

(398)

(0)

收藏

Optional.ofNullable(T value).orElse(T other) 是 Java 8 引入的 Optional 类的一个常见用法,它允许你以更优雅的方式处理可能为 null 的值。

这里是它的基本工作原理:

  1. Optional.ofNullable(T value): 这个方法会尝试将给定的值(可能是 null)封装成一个 Optional 对象。如果值是 null,那么你会得到一个空的 Optional 对象;否则,你会得到一个包含该值的 Optional 对象。

  2. orElse(T other): 如果 Optional 对象包含值(即它不是空的),那么这个方法会返回该值。否则,它会返回你提供的默认值(other)。

以下是一个简单的示例:

String possiblyNull = getSomeStringThatCouldBeNull(); // 可能返回 null     // 使用 Optional.ofNullable 和 orElse   String result = Optional.ofNullable(possiblyNull).orElse("默认值");     // 如果 possiblyNull 是 null,那么 result 将是 "默认值"   // 如果 possiblyNull 不是 null,那么 result 将是 possiblyNull 的值

在这个例子中,我们避免了直接的 null 检查,并使用了 Optional 来更清晰地表达我们的意图。虽然对于简单的 null 检查,使用 Optional 可能看起来有些冗长,但在更复杂的逻辑中,它可以帮助你避免 NullPointerException 并使代码更具可读性。


0条评论

点击登录参与评论